feat: add get users
This commit is contained in:
parent
199ebba158
commit
50191e20ef
9
conf/bot.go
Normal file
9
conf/bot.go
Normal file
@ -0,0 +1,9 @@
|
||||
package conf
|
||||
|
||||
import (
|
||||
tgbotapi "github.com/go-telegram-bot-api/telegram-bot-api/v5"
|
||||
)
|
||||
|
||||
var (
|
||||
Bot *tgbotapi.BotAPI
|
||||
)
|
15
conf/mc.go
Normal file
15
conf/mc.go
Normal file
@ -0,0 +1,15 @@
|
||||
package conf
|
||||
|
||||
import (
|
||||
"github.com/Tnze/go-mc/bot"
|
||||
"github.com/Tnze/go-mc/bot/basic"
|
||||
"github.com/Tnze/go-mc/bot/msg"
|
||||
"github.com/Tnze/go-mc/bot/playerlist"
|
||||
)
|
||||
|
||||
var (
|
||||
Client *bot.Client
|
||||
Player *basic.Player
|
||||
ChatHandler *msg.Manager
|
||||
PlayerList *playerlist.PlayerList
|
||||
)
|
@ -3,6 +3,7 @@ package services
|
||||
import (
|
||||
"tg-mc/services/mc"
|
||||
"tg-mc/services/tgbot"
|
||||
"tg-mc/services/utils"
|
||||
|
||||
"github.com/sirupsen/logrus"
|
||||
)
|
||||
@ -11,7 +12,7 @@ func Run() {
|
||||
go tgbot.Run(mc.SendMsg)
|
||||
for {
|
||||
if err := mc.Run(); err != nil {
|
||||
tgbot.SendMsg("致命错误:" + err.Error())
|
||||
utils.SendMsg("致命错误:" + err.Error())
|
||||
logrus.Panic(err)
|
||||
}
|
||||
}
|
||||
|
@ -6,29 +6,23 @@ import (
|
||||
"log"
|
||||
"strings"
|
||||
"tg-mc/conf"
|
||||
"tg-mc/services/tgbot"
|
||||
|
||||
"github.com/Tnze/go-mc/bot"
|
||||
"github.com/Tnze/go-mc/bot/basic"
|
||||
"github.com/Tnze/go-mc/bot/msg"
|
||||
"github.com/Tnze/go-mc/bot/playerlist"
|
||||
"github.com/Tnze/go-mc/chat"
|
||||
)
|
||||
|
||||
var (
|
||||
client *bot.Client
|
||||
player *basic.Player
|
||||
chatHandler *msg.Manager
|
||||
playerList *playerlist.PlayerList
|
||||
tgbotapi "github.com/go-telegram-bot-api/telegram-bot-api/v5"
|
||||
)
|
||||
|
||||
func Run() error {
|
||||
client = bot.NewClient()
|
||||
client.Auth.Name = conf.GetBotSettings().MCBotName
|
||||
conf.Client = bot.NewClient()
|
||||
conf.Client.Auth.Name = conf.GetBotSettings().MCBotName
|
||||
client := conf.Client
|
||||
|
||||
player = basic.NewPlayer(client, basic.DefaultSettings, basic.EventsListener{})
|
||||
playerList = playerlist.New(client)
|
||||
chatHandler = msg.New(client, player, playerList, msg.EventsHandler{
|
||||
conf.Player = basic.NewPlayer(client, basic.DefaultSettings, basic.EventsListener{})
|
||||
conf.PlayerList = playerlist.New(client)
|
||||
conf.ChatHandler = msg.New(client, conf.Player, conf.PlayerList, msg.EventsHandler{
|
||||
SystemChat: onSystemMsg,
|
||||
PlayerChatMessage: onPlayerMsg,
|
||||
DisguisedChat: onDisguisedMsg,
|
||||
@ -58,7 +52,7 @@ func Run() error {
|
||||
}
|
||||
|
||||
func SendMsg(msg string) error {
|
||||
if err := chatHandler.SendMessage(msg); err != nil {
|
||||
if err := conf.ChatHandler.SendMessage(msg); err != nil {
|
||||
return err
|
||||
}
|
||||
return nil
|
||||
@ -66,7 +60,8 @@ func SendMsg(msg string) error {
|
||||
|
||||
func onSystemMsg(msg chat.Message, overlay bool) error {
|
||||
log.Printf("System: %v", msg)
|
||||
tgbot.SendMsg(msg.String())
|
||||
m := tgbotapi.NewMessage(conf.GetBotSettings().GroupID, fmt.Sprintf("%v", msg))
|
||||
conf.Bot.Send(m)
|
||||
return nil
|
||||
}
|
||||
|
||||
@ -75,7 +70,8 @@ func onPlayerMsg(msg chat.Message, validated bool) error {
|
||||
s := strings.Split(msg.String(), " ")
|
||||
if len(s) > 1 {
|
||||
if s[0] != fmt.Sprintf("<%v>", conf.GetBotSettings().MCBotName) {
|
||||
tgbot.SendMsg(msg.String())
|
||||
m := tgbotapi.NewMessage(conf.GetBotSettings().GroupID, fmt.Sprintf("%v", msg))
|
||||
conf.Bot.Send(m)
|
||||
}
|
||||
}
|
||||
return nil
|
||||
@ -83,6 +79,8 @@ func onPlayerMsg(msg chat.Message, validated bool) error {
|
||||
|
||||
func onDisguisedMsg(msg chat.Message) error {
|
||||
log.Printf("Disguised: %v", msg)
|
||||
tgbot.SendMsg(msg.String())
|
||||
m := tgbotapi.NewMessage(conf.GetBotSettings().GroupID, fmt.Sprintf("%v", msg))
|
||||
conf.Bot.Send(m)
|
||||
return nil
|
||||
}
|
||||
|
||||
|
@ -5,15 +5,12 @@ import (
|
||||
"net/http"
|
||||
"net/url"
|
||||
"tg-mc/conf"
|
||||
"tg-mc/services/utils"
|
||||
|
||||
tgbotapi "github.com/go-telegram-bot-api/telegram-bot-api/v5"
|
||||
"github.com/sirupsen/logrus"
|
||||
)
|
||||
|
||||
var (
|
||||
bot *tgbotapi.BotAPI
|
||||
)
|
||||
|
||||
func Run(sendFunc func(string) error) {
|
||||
var err error
|
||||
|
||||
@ -24,7 +21,7 @@ func Run(sendFunc func(string) error) {
|
||||
}
|
||||
|
||||
client := &http.Client{Transport: &http.Transport{Proxy: http.ProxyURL(proxyUrl)}}
|
||||
bot, err = tgbotapi.NewBotAPIWithClient(
|
||||
conf.Bot, err = tgbotapi.NewBotAPIWithClient(
|
||||
conf.GetBotSettings().BotToken,
|
||||
tgbotapi.APIEndpoint,
|
||||
client)
|
||||
@ -33,13 +30,13 @@ func Run(sendFunc func(string) error) {
|
||||
log.Panic(err)
|
||||
}
|
||||
|
||||
bot.Debug = true
|
||||
conf.Bot.Debug = true
|
||||
|
||||
log.Printf("Authorized on account %s", bot.Self.UserName)
|
||||
log.Printf("Authorized on account %s", conf.Bot.Self.UserName)
|
||||
|
||||
u := tgbotapi.NewUpdate(0)
|
||||
u.Timeout = 60
|
||||
updates := bot.GetUpdatesChan(u)
|
||||
updates := conf.Bot.GetUpdatesChan(u)
|
||||
|
||||
for update := range updates {
|
||||
if update.Message != nil {
|
||||
@ -48,12 +45,11 @@ func Run(sendFunc func(string) error) {
|
||||
logrus.Infof("id is %d", update.Message.Chat.ID)
|
||||
sendFunc(update.Message.CommandArguments())
|
||||
}
|
||||
if update.Message.Command() == "list" {
|
||||
logrus.Infof("id is %d", update.Message.Chat.ID)
|
||||
m := tgbotapi.NewMessage(update.Message.Chat.ID, utils.GetAlivePlayer())
|
||||
conf.Bot.Send(m)
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
func SendMsg(msg string) error {
|
||||
msgT := tgbotapi.NewMessage(conf.GetBotSettings().GroupID, msg)
|
||||
_, err := bot.Send(msgT)
|
||||
return err
|
||||
}
|
||||
|
11
services/utils/mc.go
Normal file
11
services/utils/mc.go
Normal file
@ -0,0 +1,11 @@
|
||||
package utils
|
||||
|
||||
import "tg-mc/conf"
|
||||
|
||||
func GetAlivePlayer() string {
|
||||
ans := "当前在线玩家:\n"
|
||||
for _, v := range conf.PlayerList.PlayerInfos {
|
||||
ans += v.Name + "\n"
|
||||
}
|
||||
return ans
|
||||
}
|
13
services/utils/tg.go
Normal file
13
services/utils/tg.go
Normal file
@ -0,0 +1,13 @@
|
||||
package utils
|
||||
|
||||
import (
|
||||
"tg-mc/conf"
|
||||
|
||||
tgbotapi "github.com/go-telegram-bot-api/telegram-bot-api/v5"
|
||||
)
|
||||
|
||||
func SendMsg(msg string) error {
|
||||
msgT := tgbotapi.NewMessage(conf.GetBotSettings().GroupID, msg)
|
||||
_, err := conf.Bot.Send(msgT)
|
||||
return err
|
||||
}
|
Loading…
x
Reference in New Issue
Block a user