Skip to content

Commit

Permalink
异常处理
Browse files Browse the repository at this point in the history
  • Loading branch information
IJNKAWAKAZE committed Apr 10, 2024
1 parent a6b6da6 commit e1036e7
Show file tree
Hide file tree
Showing 18 changed files with 158 additions and 44 deletions.
10 changes: 8 additions & 2 deletions src/plugins/enemy/enemy_handle.go
Original file line number Diff line number Diff line change
Expand Up @@ -30,16 +30,22 @@ func EnemyHandle(update tgbotapi.Update) error {
)
sendMessage := tgbotapi.NewMessage(chatId, "请选择要查询的敌人")
sendMessage.ReplyMarkup = inlineKeyboardMarkup
msg, _ := bot.Arknights.Send(sendMessage)
msg, err := bot.Arknights.Send(sendMessage)
if err != nil {
return err
}
messagecleaner.AddDelQueue(msg.Chat.ID, msg.MessageID, bot.MsgDelDelay)
return nil
}
enemy := ParseEnemy(name)
if enemy.Name == "" {
sendMessage := tgbotapi.NewMessage(update.Message.Chat.ID, "未查询到此敌人,请输入正确的敌人名称。")
sendMessage.ReplyToMessageID = messageId
msg, _ := bot.Arknights.Send(sendMessage)
msg, err := bot.Arknights.Send(sendMessage)
messagecleaner.AddDelQueue(chatId, messageId, bot.MsgDelDelay)
if err != nil {
return err
}
messagecleaner.AddDelQueue(msg.Chat.ID, msg.MessageID, bot.MsgDelDelay)
return nil
}
Expand Down
10 changes: 8 additions & 2 deletions src/plugins/material/material_handle.go
Original file line number Diff line number Diff line change
Expand Up @@ -29,16 +29,22 @@ func MaterialHandle(update tgbotapi.Update) error {
)
sendMessage := tgbotapi.NewMessage(chatId, "请选择要查询的材料")
sendMessage.ReplyMarkup = inlineKeyboardMarkup
msg, _ := bot.Arknights.Send(sendMessage)
msg, err := bot.Arknights.Send(sendMessage)
if err != nil {
return err
}
messagecleaner.AddDelQueue(msg.Chat.ID, msg.MessageID, bot.MsgDelDelay)
return nil
}
materials := utils.GetItemByName(name)
if len(materials) == 0 {
sendMessage := tgbotapi.NewMessage(update.Message.Chat.ID, "未查询到此材料,请输入正确的材料名称。")
sendMessage.ReplyToMessageID = messageId
msg, _ := bot.Arknights.Send(sendMessage)
msg, err := bot.Arknights.Send(sendMessage)
messagecleaner.AddDelQueue(chatId, messageId, bot.MsgDelDelay)
if err != nil {
return err
}
messagecleaner.AddDelQueue(msg.Chat.ID, msg.MessageID, bot.MsgDelDelay)
return nil
}
Expand Down
10 changes: 8 additions & 2 deletions src/plugins/operator/operator_handle.go
Original file line number Diff line number Diff line change
Expand Up @@ -29,16 +29,22 @@ func OperatorHandle(update tgbotapi.Update) error {
)
sendMessage := tgbotapi.NewMessage(chatId, "请选择要查询的干员")
sendMessage.ReplyMarkup = inlineKeyboardMarkup
msg, _ := bot.Arknights.Send(sendMessage)
msg, err := bot.Arknights.Send(sendMessage)
if err != nil {
return err
}
messagecleaner.AddDelQueue(msg.Chat.ID, msg.MessageID, bot.MsgDelDelay)
return nil
}
operator := ParseOperator(name)
if operator.OP.Name == "" {
sendMessage := tgbotapi.NewMessage(update.Message.Chat.ID, "查无此人,请输入正确的干员名称。")
sendMessage.ReplyToMessageID = messageId
msg, _ := bot.Arknights.Send(sendMessage)
msg, err := bot.Arknights.Send(sendMessage)
messagecleaner.AddDelQueue(chatId, messageId, bot.MsgDelDelay)
if err != nil {
return err
}
messagecleaner.AddDelQueue(msg.Chat.ID, msg.MessageID, bot.MsgDelDelay)
return nil
}
Expand Down
5 changes: 4 additions & 1 deletion src/plugins/player/gacha_handle.go
Original file line number Diff line number Diff line change
Expand Up @@ -50,8 +50,11 @@ func (_ PlayerOperationGacha) Run(uid string, userAccount account.UserAccount, c
sendMessage := tgbotapi.NewMessage(chatId, fmt.Sprintf("BToken未设置,请先进行[设置](https://t.me/%s)。", viper.GetString("bot.name")))
sendMessage.ParseMode = tgbotapi.ModeMarkdownV2
sendMessage.ReplyToMessageID = messageId
msg, _ := bot.Arknights.Send(sendMessage)
msg, err := bot.Arknights.Send(sendMessage)
messagecleaner.AddDelQueue(chatId, messageId, 5)
if err != nil {
return err
}
messagecleaner.AddDelQueue(msg.Chat.ID, msg.MessageID, bot.MsgDelDelay)
return nil
}
Expand Down
8 changes: 6 additions & 2 deletions src/plugins/player/helper.go
Original file line number Diff line number Diff line change
Expand Up @@ -57,6 +57,7 @@ func playerSelector(update tgbotapi.Update, userAccount account.UserAccount, pla
msg, err := bot.Arknights.Send(sendMessage)
if err != nil {
log.Println("can not send massage ", err)
return nil
}
messagecleaner.AddDelQueueFuncHash(msg.Chat.ID, msg.MessageID, bot.MsgDelDelay, functionHash)
return nil
Expand Down Expand Up @@ -87,10 +88,11 @@ func getAccount(update tgbotapi.Update) (*account.UserAccount, error) {
sendMessage.ParseMode = tgbotapi.ModeMarkdownV2
sendMessage.ReplyToMessageID = messageId
msg, err := bot.Arknights.Send(sendMessage)
messagecleaner.AddDelQueue(chatId, messageId, 5)
if err != nil {
log.Println("can not send massage ", err)
return nil, nil
}
messagecleaner.AddDelQueue(chatId, messageId, 5)
messagecleaner.AddDelQueue(msg.Chat.ID, msg.MessageID, bot.MsgDelDelay)
return nil, nil
}
Expand Down Expand Up @@ -119,10 +121,12 @@ func getPlayers(update tgbotapi.Update) ([]account.UserPlayer, error) {
} else {
sendMessage := tgbotapi.NewMessage(chatId, "您还未绑定任何角色!")
msg, err := bot.Arknights.Send(sendMessage)
messagecleaner.AddDelQueue(chatId, messageId, 5)

if err != nil {
log.Println("can not send massage ", err)
return nil, nil
}
messagecleaner.AddDelQueue(chatId, messageId, 5)
messagecleaner.AddDelQueue(msg.Chat.ID, msg.MessageID, bot.MsgDelDelay)
return nil, nil
}
Expand Down
5 changes: 4 additions & 1 deletion src/plugins/player/redeem_handle.go
Original file line number Diff line number Diff line change
Expand Up @@ -43,8 +43,11 @@ func (_ PlayerOperationRedeem) Run(uid string, userAccount account.UserAccount,
sendMessage := tgbotapi.NewMessage(chatId, fmt.Sprintf("BToken未设置,请先进行[设置](https://t.me/%s)。", viper.GetString("bot.name")))
sendMessage.ParseMode = tgbotapi.ModeMarkdownV2
sendMessage.ReplyToMessageID = messageId
msg, _ := bot.Arknights.Send(sendMessage)
msg, err := bot.Arknights.Send(sendMessage)
messagecleaner.AddDelQueue(chatId, messageId, 5)
if err != nil {
return err
}
messagecleaner.AddDelQueue(msg.Chat.ID, msg.MessageID, bot.MsgDelDelay)
return nil
}
Expand Down
39 changes: 30 additions & 9 deletions src/plugins/sign/sign_handle.go
Original file line number Diff line number Diff line change
Expand Up @@ -29,8 +29,11 @@ func SignHandle(update tgbotapi.Update) error {
sendMessage := tgbotapi.NewMessage(chatId, fmt.Sprintf("未查询到绑定账号,请先进行[绑定](https://t.me/%s)。", viper.GetString("bot.name")))
sendMessage.ParseMode = tgbotapi.ModeMarkdownV2
sendMessage.ReplyToMessageID = messageId
msg, _ := bot.Arknights.Send(sendMessage)
msg, err := bot.Arknights.Send(sendMessage)
messagecleaner.AddDelQueue(chatId, messageId, 5)
if err != nil {
return err
}
messagecleaner.AddDelQueue(msg.Chat.ID, msg.MessageID, bot.MsgDelDelay)
return nil
}
Expand All @@ -39,8 +42,11 @@ func SignHandle(update tgbotapi.Update) error {
res = utils.GetPlayersByUserId(userId).Scan(&players)
if res.RowsAffected == 0 {
sendMessage := tgbotapi.NewMessage(chatId, "您还未绑定任何角色!")
msg, _ := bot.Arknights.Send(sendMessage)
msg, err := bot.Arknights.Send(sendMessage)
messagecleaner.AddDelQueue(chatId, messageId, 5)
if err != nil {
return err
}
messagecleaner.AddDelQueue(msg.Chat.ID, msg.MessageID, bot.MsgDelDelay)
return nil
}
Expand Down Expand Up @@ -69,7 +75,10 @@ func SignHandle(update tgbotapi.Update) error {
)
sendMessage := tgbotapi.NewMessage(chatId, "请选择要签到的角色")
sendMessage.ReplyMarkup = inlineKeyboardMarkup
msg, _ := bot.Arknights.Send(sendMessage)
msg, err := bot.Arknights.Send(sendMessage)
if err != nil {
return err
}
messagecleaner.AddDelQueue(msg.Chat.ID, msg.MessageID, bot.MsgDelDelay)
} else {
// 绑定单个角色执行签到
Expand All @@ -91,11 +100,14 @@ func Sign(player account.UserPlayer, account account.UserAccount, chatId int64)

award, hasSigned, err := skland.SignGamePlayer(player.Uid, skAccount)
if err != nil {
log.Println(playerName, err)
sendMessage := tgbotapi.NewMessage(chatId, fmt.Sprintf("角色 %s 签到失败!\nmsg:%s", playerName, err.Error()))
msg, _ := bot.Arknights.Send(sendMessage)
msg, err := bot.Arknights.Send(sendMessage)
if err != nil {
return err
}
messagecleaner.AddDelQueue(msg.Chat.ID, msg.MessageID, bot.MsgDelDelay)
log.Println(playerName, err)
return err
return nil
}
// 今日已完成签到
if hasSigned {
Expand All @@ -120,7 +132,10 @@ func autoSign(update tgbotapi.Update) {
if res.RowsAffected > 0 {
sendMessage := tgbotapi.NewMessage(chatId, "已开启自动签到!")
sendMessage.ReplyToMessageID = messageId
msg, _ := bot.Arknights.Send(sendMessage)
msg, err := bot.Arknights.Send(sendMessage)
if err != nil {
return
}
messagecleaner.AddDelQueue(msg.Chat.ID, msg.MessageID, bot.MsgDelDelay)
return
}
Expand All @@ -135,7 +150,10 @@ func autoSign(update tgbotapi.Update) {

sendMessage := tgbotapi.NewMessage(chatId, "开启自动签到成功!")
sendMessage.ReplyToMessageID = messageId
msg, _ := bot.Arknights.Send(sendMessage)
msg, err := bot.Arknights.Send(sendMessage)
if err != nil {
return
}
messagecleaner.AddDelQueue(msg.Chat.ID, msg.MessageID, bot.MsgDelDelay)
}

Expand All @@ -150,6 +168,9 @@ func stopSign(update tgbotapi.Update) {

sendMessage := tgbotapi.NewMessage(chatId, "已关闭自动签到!")
sendMessage.ReplyToMessageID = messageId
msg, _ := bot.Arknights.Send(sendMessage)
msg, err := bot.Arknights.Send(sendMessage)
if err != nil {
return
}
messagecleaner.AddDelQueue(msg.Chat.ID, msg.MessageID, bot.MsgDelDelay)
}
10 changes: 8 additions & 2 deletions src/plugins/skin/skin_handle.go
Original file line number Diff line number Diff line change
Expand Up @@ -27,16 +27,22 @@ func SkinHandle(update tgbotapi.Update) error {
)
sendMessage := tgbotapi.NewMessage(chatId, "请选择要查询的干员")
sendMessage.ReplyMarkup = inlineKeyboardMarkup
msg, _ := bot.Arknights.Send(sendMessage)
msg, err := bot.Arknights.Send(sendMessage)
if err != nil {
return err
}
messagecleaner.AddDelQueue(msg.Chat.ID, msg.MessageID, bot.MsgDelDelay)
return nil
}
operator := utils.GetOperatorByName(name)
if operator.Name == "" {
sendMessage := tgbotapi.NewMessage(update.Message.Chat.ID, "查无此人,请输入正确的干员名称。")
sendMessage.ReplyToMessageID = messageId
msg, _ := bot.Arknights.Send(sendMessage)
msg, err := bot.Arknights.Send(sendMessage)
messagecleaner.AddDelQueue(chatId, messageId, bot.MsgDelDelay)
if err != nil {
return err
}
messagecleaner.AddDelQueue(msg.Chat.ID, msg.MessageID, bot.MsgDelDelay)
return nil
}
Expand Down
10 changes: 8 additions & 2 deletions src/plugins/system/clear_handle.go
Original file line number Diff line number Diff line change
Expand Up @@ -23,14 +23,20 @@ func ClearHandle(update tgbotapi.Update) error {
}
sendMessage := tgbotapi.NewMessage(chatId, "清理成功")
sendMessage.ReplyToMessageID = messageId
msg, _ := bot.Arknights.Send(sendMessage)
msg, err := bot.Arknights.Send(sendMessage)
if err != nil {
return err
}
messagecleaner.AddDelQueue(msg.Chat.ID, msg.MessageID, bot.MsgDelDelay)
return nil
}

sendMessage := tgbotapi.NewMessage(chatId, "无使用权限!")
sendMessage.ReplyToMessageID = messageId
msg, _ := bot.Arknights.Send(sendMessage)
msg, err := bot.Arknights.Send(sendMessage)
if err != nil {
return err
}
messagecleaner.AddDelQueue(msg.Chat.ID, msg.MessageID, bot.MsgDelDelay)
return nil
}
27 changes: 21 additions & 6 deletions src/plugins/system/headhunt_handle.go
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,10 @@ func HeadhuntHandle(update tgbotapi.Update) error {
if param == "" {
if utils.RedisIsExists(headhuntKey) && utils.RedisGet(headhuntKey) == "stop" {
sendMessage := tgbotapi.NewMessage(chatId, "模拟寻访功能已关闭!")
msg, _ := bot.Arknights.Send(sendMessage)
msg, err := bot.Arknights.Send(sendMessage)
if err != nil {
return err
}
messagecleaner.AddDelQueue(msg.Chat.ID, msg.MessageID, bot.MsgDelDelay)
return nil
}
Expand All @@ -38,12 +41,18 @@ func HeadhuntHandle(update tgbotapi.Update) error {
text = "模拟寻访已关闭!"
}
sendMessage := tgbotapi.NewMessage(chatId, text)
msg, _ := bot.Arknights.Send(sendMessage)
msg, err := bot.Arknights.Send(sendMessage)
if err != nil {
return err
}
messagecleaner.AddDelQueue(msg.Chat.ID, msg.MessageID, bot.MsgDelDelay)
return nil
}
sendMessage := tgbotapi.NewMessage(chatId, "无使用权限!")
msg, _ := bot.Arknights.Send(sendMessage)
msg, err := bot.Arknights.Send(sendMessage)
if err != nil {
return err
}
messagecleaner.AddDelQueue(msg.Chat.ID, msg.MessageID, bot.MsgDelDelay)
return nil
}
Expand All @@ -59,7 +68,10 @@ func HeadhuntHandle(update tgbotapi.Update) error {
messagecleaner.AddDelQueue(chatId, messageId, 60)
sendMessage := tgbotapi.NewMessage(chatId, "已达到每日次数限制!")
sendMessage.ReplyToMessageID = messageId
msg, _ := bot.Arknights.Send(sendMessage)
msg, err := bot.Arknights.Send(sendMessage)
if err != nil {
return err
}
messagecleaner.AddDelQueue(chatId, msg.MessageID, 60)
return nil
}
Expand All @@ -74,10 +86,13 @@ func HeadhuntHandle(update tgbotapi.Update) error {
if pic == nil {
sendMessage := tgbotapi.NewMessage(chatId, "生成图片失败,请重试。")
sendMessage.ReplyToMessageID = messageId
msg, _ := bot.Arknights.Send(sendMessage)
messagecleaner.AddDelQueue(chatId, msg.MessageID, 5)
msg, err := bot.Arknights.Send(sendMessage)
times, _ := strconv.Atoi(utils.RedisGet(key))
utils.RedisSet(key, strconv.Itoa(times-1), 0)
if err != nil {
return err
}
messagecleaner.AddDelQueue(chatId, msg.MessageID, 5)
return nil
}
sendPhoto := tgbotapi.NewPhoto(chatId, tgbotapi.FileBytes{Bytes: pic})
Expand Down
5 changes: 4 additions & 1 deletion src/plugins/system/kill_handle.go
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,10 @@ func KillHandle(update tgbotapi.Update) error {

sendMessage := tgbotapi.NewMessage(chatId, "无使用权限!")
sendMessage.ReplyToMessageID = messageId
msg, _ := bot.Arknights.Send(sendMessage)
msg, err := bot.Arknights.Send(sendMessage)
if err != nil {
return err
}
messagecleaner.AddDelQueue(msg.Chat.ID, msg.MessageID, bot.MsgDelDelay)
return nil
}
10 changes: 8 additions & 2 deletions src/plugins/system/news_handle.go
Original file line number Diff line number Diff line change
Expand Up @@ -24,14 +24,20 @@ func NewsHandle(update tgbotapi.Update) error {
}
sendMessage := tgbotapi.NewMessage(chatId, text)
sendMessage.ReplyToMessageID = messageId
msg, _ := bot.Arknights.Send(sendMessage)
msg, err := bot.Arknights.Send(sendMessage)
if err != nil {
return err
}
messagecleaner.AddDelQueue(msg.Chat.ID, msg.MessageID, bot.MsgDelDelay)
return nil
}

sendMessage := tgbotapi.NewMessage(chatId, "无使用权限!")
sendMessage.ReplyToMessageID = messageId
msg, _ := bot.Arknights.Send(sendMessage)
msg, err := bot.Arknights.Send(sendMessage)
if err != nil {
return err
}
messagecleaner.AddDelQueue(msg.Chat.ID, msg.MessageID, bot.MsgDelDelay)
return nil
}
5 changes: 4 additions & 1 deletion src/plugins/system/ping_handle.go
Original file line number Diff line number Diff line change
Expand Up @@ -13,8 +13,11 @@ func PingHandle(update tgbotapi.Update) error {
messageId := update.Message.MessageID
sendSticker := tgbotapi.NewSticker(chatId, tgbotapi.FileID(viper.GetString("sticker.ping")))
sendSticker.ReplyToMessageID = messageId
msg, _ := bot.Arknights.Send(sendSticker)
msg, err := bot.Arknights.Send(sendSticker)
messagecleaner.AddDelQueue(chatId, messageId, 5)
if err != nil {
return err
}
messagecleaner.AddDelQueue(msg.Chat.ID, msg.MessageID, bot.MsgDelDelay)
return nil
}
Loading

0 comments on commit e1036e7

Please sign in to comment.