วิธีการทั้งหมดเป็นการอธิบายตนเองอย่างเป็นธรรมและการอ่านหน้า Godoc ควรอธิบายทุกอย่าง หากสิ่งที่ไม่ชัดเจนให้เปิดปัญหาหรือส่งคำขอดึง
มีบทเรียนเพิ่มเติมและข้อมูลระดับสูงบนเว็บไซต์ Go-Telegram-Bot-Api.dev
ขอบเขตของโครงการนี้เป็นเพียงการจัดหาเสื้อคลุมรอบ API โดยไม่มีคุณสมบัติเพิ่มเติมใด ๆ มีโครงการอื่น ๆ สำหรับการสร้างบางอย่างด้วยปลั๊กอินและตัวจัดการคำสั่งโดยไม่ต้องออกแบบทั้งหมดนั้นด้วยตัวคุณเอง
เข้าร่วมกลุ่มพัฒนาหากคุณต้องการถามคำถามหรือหารือเกี่ยวกับการพัฒนา
ขั้นแรกให้แน่ใจว่าห้องสมุดได้รับการติดตั้งและทันสมัยโดย Running go get -u github.com/go-telegram-bot-api/telegram-bot-api/v5
นี่เป็นบอทที่ง่ายมากที่เพิ่งแสดงการอัปเดตใด ๆ จากนั้นตอบกลับไปยังแชทนั้น
package main
import (
"log"
tgbotapi "github.com/go-telegram-bot-api/telegram-bot-api/v5"
)
func main () {
bot , err := tgbotapi . NewBotAPI ( "MyAwesomeBotToken" )
if err != nil {
log . Panic ( err )
}
bot . Debug = true
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 { // If we got a message
log . Printf ( "[%s] %s" , update . Message . From . UserName , update . Message . Text )
msg := tgbotapi . NewMessage ( update . Message . Chat . ID , update . Message . Text )
msg . ReplyToMessageID = update . Message . MessageID
bot . Send ( msg )
}
}
}หากคุณต้องการใช้ webhooks (หากคุณต้องการทำงานบน Engine Google App) คุณอาจใช้วิธีการที่แตกต่างกันเล็กน้อย
package main
import (
"log"
"net/http"
"github.com/go-telegram-bot-api/telegram-bot-api/v5"
)
func main () {
bot , err := tgbotapi . NewBotAPI ( "MyAwesomeBotToken" )
if err != nil {
log . Fatal ( err )
}
bot . Debug = true
log . Printf ( "Authorized on account %s" , bot . Self . UserName )
wh , _ := tgbotapi . NewWebhookWithCert ( "https://www.example.com:8443/" + bot . Token , "cert.pem" )
_ , err = bot . Request ( wh )
if err != nil {
log . Fatal ( err )
}
info , err := bot . GetWebhookInfo ()
if err != nil {
log . Fatal ( err )
}
if info . LastErrorDate != 0 {
log . Printf ( "Telegram callback failed: %s" , info . LastErrorMessage )
}
updates := bot . ListenForWebhook ( "/" + bot . Token )
go http . ListenAndServeTLS ( "0.0.0.0:8443" , "cert.pem" , "key.pem" , nil )
for update := range updates {
log . Printf ( "%+v n " , update )
}
}หากคุณต้องการคุณสามารถสร้างใบรับรองที่ลงนามด้วยตนเองได้เนื่องจากต้องใช้ HTTPS / TLS ตัวอย่างข้างต้นบอกโทรเลขว่านี่เป็นใบรับรองของคุณและควรเชื่อถือได้แม้ว่าจะไม่ได้ลงนามอย่างเหมาะสม
openssl req -x509 -newkey rsa:2048 -keyout key.pem -out cert.pem -days 3560 -subj "//O=OrgCN=Test" -nodes
ตอนนี้ Let's Let's Encrypt พร้อมใช้งานคุณอาจต้องการสร้างใบรับรอง TLS ฟรีของคุณที่นั่น