| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071 |
- package telegram
- import (
- "app/commons/core"
- tgbotapi "github.com/go-telegram-bot-api/telegram-bot-api/v5"
- )
- // HandleMessage 处理消息
- func HandleMessage(msg *tgbotapi.Message) {
- if msg == nil {
- return
- }
- // 记录消息
- core.Log.Infof("收到消息 - Chat: %d, User: %s, Text: %s",
- msg.Chat.ID, msg.From.UserName, msg.Text)
- // 自动同步群组信息到数据库
- if msg.Chat.Type == "group" || msg.Chat.Type == "supergroup" {
- go SyncGroupInfo(msg.Chat)
- }
- // 处理新成员加入
- if msg.NewChatMembers != nil {
- handleNewMembers(msg)
- return
- }
- // 处理命令
- if msg.IsCommand() {
- handleCommand(msg)
- return
- }
- // 处理普通消息
- handleNormalMessage(msg)
- }
- // HandleCallback 处理回调查询(按钮点击)
- func HandleCallback(callback *tgbotapi.CallbackQuery) {
- if callback == nil {
- return
- }
- core.Log.Infof("收到回调 - User: %s, Data: %s",
- callback.From.UserName, callback.Data)
- handleCallbackQuery(callback)
- }
- // handleNormalMessage 处理普通消息
- func handleNormalMessage(msg *tgbotapi.Message) {
- // 目前不处理普通消息
- // 可以在这里添加关键词回复等功能
- }
- // handleNewMembers 处理新成员加入
- func handleNewMembers(msg *tgbotapi.Message) {
- for _, member := range msg.NewChatMembers {
- if member.IsBot {
- // 如果是机器人加入,发送欢迎消息
- if member.ID == bot.Self.ID {
- sendGroupWelcome(msg.Chat.ID)
- }
- continue
- }
- // 发送新成员欢迎消息
- sendNewMemberWelcome(msg.Chat.ID, member.UserName, member.FirstName)
- }
- }
|