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