Cara Membuat Bot WhatsApp Link di Telegram Menggunakan Golang: Panduan Lengkap

Daftar Isi
Cara Membuat Bot WhatsApp Link di Telegram Menggunakan Golang: Panduan Lengkap

Apakah anda pernah membuat bot di telegram ? pada kesempatan ini, saya ingin membagikan panduan yang mudah agar anda bisa membuat bot whatsapp link di telegram menggunakan bahasa pemerograman golang.

Catatan penting bagi anda yang ingin mengikuti panduan ini agar dapat memastikan bahwa anda telah mengatur environment golang di laptop atau komputer anda terlebih dahulu. jika anda belum memiliki golang di sistem anda, anda dapat mengikuti panduan ini : 

Panduan menginstall golang di windows, mac, linux

kemudian catatan kedua, anda harus memiliki api key telegram bot terlebih dahulu. agar code kita dapat terintegrasi dengan telegram. 

Cara membuat telegram bot dengan bot father

Jika Anda sudah memastikan bahwa lingkungan Golang telah terpasang di laptop Anda, langkah selanjutnya adalah membuat proyek Golang terlebih dahulu.

Buat project golang

Hal pertama yang harus di lakukan adalah membuat folder untuk golang anda di dalam direktori kerja. sebagai contoh, anda dapat membuat folder bernama ' go-whatsapplink ' dengan mengikuti panduan di bawah ini : [ Silahkan buka terminal laptop anda ] 

mkdir go-whatsapplink
cd go-whatsapplink

Inisialisasi project golang

Langkah berikutnya adalah menginisialisi golang module untuk project anda. Jalankan perintah di bawah ini : 

go mod init go-whatsapplink

Nama go-whatsapplink bisa anda sesuaikan sendiri.

Install module bot telegram

Install module bot telegram dengan menggunakan perintah di bawah ini : 

go get -u github.com/go-telegram-bot-api/telegram-bot-api/v5

Perintah di atas akan mengunduh module dari repository github dan kemudian akan di tambahkan ke dalam file go.mod anda.

Selanjutnya jangan lupa untuk membuka text editor anda seperti visual studio atau text editor yang biasa anda gunakan.

Buat 2 folder di dalam direktori go-whatsapplink

Langkah selanjutnya adalah membuat 2 buah folder di dalam direktori go-whatsapp link, dan berikan nama folder tersebut dengan nama : 
  • template : folder ini berisi file (.txt) yang nantinya dapat di akses atau di inisialisasi menggunakan fitur embed di Go.
  • validation : folder ini berisi file golang yang dapat memproses inputan user yang mengirim pesan di dalam bot telegram

Buat file txt di dalam folder template

buat file ' invaliddigit.txt ' kemudian Isi file nya dengan kalimat seperti di bawah ini :

mohon maaf.
nomor whatsapp yang anda kirimkan harus 10 digit lebih dan di bawah 12 digit 🙏
buat kembali file dengan nama ' invalidnum.txt ' kemudian Isi file nya dengan kalimat seperti di bawah ini :

mohon maaf.
masukan nomor hp yang benar yah 🙏
buat kembali file dengan nama ' welcome.txt ' kemudian Isi file nya dengan kalimat seperti di bawah ini :

hello... selamat datang di whatsapp-link bot 😎

Anda dapat membuat tautan api nomor whatsapp dari bot ini.

kirimin saya nomor telepon Anda dan saya bisa mengalihkan percakapan pertama anda ke whatsapp melalui link yang akan saya berikan, tanpa perlu menyimpan nomor tersebut.

Buat file go di dalam folder validation

Langkah selanjutnya adalah membuat file 'validation.go' di dalam folder validation. Setelah file tersebut berhasil dibuat, silahkan ikuti kode di bawah ini : 

package validation

import (
    "regexp"
    "unicode"
)

func IsNumeric(s string) bool {
    for _, c := range s {
        if !unicode.IsDigit(c) {
            return false
        }
    }
    return true
}

func ValidateNumber(input string) bool {
    regexPattern := ` + "`^\\d+$`" + `
    re := regexp.MustCompile(regexPattern)
    return re.MatchString(input) && len(input) >= 10 && len(input) <= 12
}

Fungsi IsNumeric(s string) akan memeriksa setiap karakter dalam string menggunakan metode unicode.IsDigit(c), yang apabila semua adalah karakter digit, maka akan mengembalikan nilai true, jika tidak, maka akan mengembalikan nilai false. ini adalah cara yang efisien agar memastikan inputan user adalah angka.
Fungsi ValidateNumber(input string) akan memeriksa kembali inputan user sebagai angka, selain itu fungsi ini juga mengecek panjang panjang string agar berada pada 10 hingga 12 karakter. ini berguna untuk memvalidasi nomor telepon.

Inisialisasi code di dalam main.go

Langkah selanjutnya adalah membuat code di dalam file main.go.
silahkan masukan code import seperti ini di atas code main() {}

import (
   _ "embed"
   "fmt"
   "go-whatsapplink/validation"
   "log"
   "strings"

   tgbotapi "github.com/go-telegram-bot-api/telegram-bot-api/v5"
)
Diatas merupakan kode import untuk golang : 
  • _ "embed" : import kosong yang akan di gunakan untuk menyertakan data statis pada file go. ini akan berguna untuk file txt yang telah kita buat. 
  • "fmt" : module standar golang untuk format input dan output.
  • "go-whatsapplink/validation" : ini adalah paket kostum pada project yang telah di buat. akan di gunakan untuk melakukan validasi ke pada user.
  • "log" : module standar golang, untuk menampilkan pesan log.
  • "strings" : module standar golang untuk memanipulasi string.
  • "tgbotapi "github.com/go-telegram-bot-api/telegram-bot-api/v5"" : ini adalah module yang telah di get sebelumnya, dan di gunakan untuk melakukan integrasi ke telegram.
Langkah selanjutnya adalah menginisialisasi variable embed, lihat dan ikuti contoh code di bawah ini dan tempelkan ke bawah kode import yang baru anda tambahkan.


//go:embed template/welcome.txt
var welcome string

//go:embed template/invalidnum.txt
var invalidnum string

//go:embed template/invaliddigit.txt
var invaliddigit string
Dengan menggunakan go:embed kita dapat menyematkan file teks atau data lainnya ke dalam variable di bawahnya. 
variable welcome akan berisi nilai sesuai dengan isi file welcome.txt.

Langkah selanjutnya adalah memasukan kode sumber utama ke dalam fungsi main. 


fmt.Println("RUNNING BOT......")
// config first api key for telegram bot
bot, err := tgbotapi.NewBotAPI("Your-API-KEY")
if err != nil {
	log.Panic(err)
}

log.Printf("Authorized on account %s", bot.Self.UserName)

u := tgbotapi.NewUpdate(0)
u.Timeout = 60

updates := bot.GetUpdatesChan(u)

for update := range updates {
	if update.Message != nil {
		text := update.Message.Text

		if strings.Contains(text, "/start") {
			msg := tgbotapi.NewMessage(update.Message.Chat.ID, welcome)
			msg.ReplyToMessageID = update.Message.MessageID
			bot.Send(msg)
		}else {
			if validation.IsNumeric(text) {
				if validation.ValidateNumber(text) {
					// create link bot whatsapp

					initializeLink := "https://api.whatsapp.com/send?phone=62"
						
					link := initializeLink + text[1:]

					msg := tgbotapi.NewMessage(update.Message.Chat.ID, link)
					msg.ReplyToMessageID = update.Message.MessageID
					bot.Send(msg)	
				}else {
					// send message if digit number is invalid
					msg := tgbotapi.NewMessage(update.Message.Chat.ID, invaliddigit)
					msg.ReplyToMessageID = update.Message.MessageID
					bot.Send(msg)
				}
			}else {
				// send message if digit number is invalid number
				msg := tgbotapi.NewMessage(update.Message.Chat.ID, invalidnum)
				msg.ReplyToMessageID = update.Message.MessageID
				bot.Send(msg)
			}	
		}

	}
}
Pada kode tgbotapi.NewBotAPI("Your-API-KEY"), masukan kode api key yang di berikan oleh bot-father telegram.

Setalah anda pastikan tidak ada kesalahan pada code, langkah selanjutnya adalah menjalankan project golang yang baru saja di buat dengan menggunakan perintah pada terminal, seperti di bawah ini :

go run main.go
Setelah tampilan di terminal sudah muncul RUNNING BOT...... maka silahkan buka bot telegram anda yang sudah di buat dan kirimkan pesan ke pada bot anda. maka secara otomatis, bot anda akan melayani dan mengarahkan anda untuk mengirimkan nomor telepon agar bisa di buatkan link whatsapp.

Dengan langkah yang telah anda ikuti di atas untuk membuat bot telegram pada bahasa pemerograman golang, anda kini sudah memiliki dasar yang kuat untuk membangun bot telegram anda sendiri. 
Jangan lupa untuk terus belajar dan mencoba hal baru dalam mengembangkan bot Telegram Anda. Semakin banyak fitur yang Anda tambahkan, semakin menarik aplikasi yang Anda buat. Ayo, mulailah sekarang dan buat bot Telegram pertama Anda dengan Golang!

Silahkan berikan komentar jika anda mengalami masalah pada panduan di atas.

Posting Komentar