使用Golang通过Telegram-bot-api向用户发送消息遇到问题,求帮助
使用Golang通过Telegram-bot-api向用户发送消息遇到问题,求帮助 嗨,我的朋友们
我使用这个库 github.com/go-telegram-bot-api/telegram-bot-api
我有代码 https://play.golang.org/p/uXLRvZMIHyM
如何向添加了机器人的用户发送消息? 我该如何发送简单的消息? 不是用户向机器人输入了什么,而是我主动发送文本给他?
请告诉我该怎么做
更多关于使用Golang通过Telegram-bot-api向用户发送消息遇到问题,求帮助的实战教程也可以访问 https://www.itying.com/category-94-b0.html
1 回复
更多关于使用Golang通过Telegram-bot-api向用户发送消息遇到问题,求帮助的实战系列教程也可以访问 https://www.itying.com/category-94-b0.html
要使用 go-telegram-bot-api 库主动向用户发送消息,你需要使用 NewMessage 函数并指定目标用户的聊天 ID。以下是一个完整的示例代码,展示如何初始化机器人并发送消息:
package main
import (
"log"
tgbotapi "github.com/go-telegram-bot-api/telegram-bot-api/v5"
)
func main() {
// 用你的实际机器人令牌替换这里
bot, err := tgbotapi.NewBotAPI("YOUR_BOT_TOKEN")
if err != nil {
log.Panic(err)
}
// 设置要发送消息的目标聊天 ID(用户或群组)
chatID := int64(123456789) // 替换为实际用户的聊天 ID
// 创建消息配置
msg := tgbotapi.NewMessage(chatID, "这是一条主动发送的消息!")
// 发送消息
_, err = bot.Send(msg)
if err != nil {
log.Panic(err)
}
}
关键点说明:
YOUR_BOT_TOKEN需要替换为从 BotFather 获取的实际机器人令牌chatID需要替换为目标用户的实际聊天 ID- 使用
NewMessage(chatID, text)创建消息配置 - 调用
bot.Send(msg)发送消息
获取用户聊天 ID 的方法:
- 可以让用户先向机器人发送一条消息,然后从更新中提取
Chat.ID - 或者通过其他方式预先获取并存储用户的聊天 ID
示例获取聊天 ID 的代码:
// 在处理更新时获取发送者的聊天 ID
func handleUpdate(update tgbotapi.Update) {
if update.Message != nil {
chatID := update.Message.Chat.ID
log.Printf("用户聊天 ID: %d", chatID)
}
}
注意:确保你的机器人没有被用户屏蔽,并且拥有向该用户发送消息的权限。

