0

Compare commits

..

2 Commits

Author SHA1 Message Date
eleksir
a21d7216ab Update TODO.md 2025-04-19 19:06:56 +03:00
eleksir
ed81685c09 [WIP] Implemented !admin chan_msg setting command 2025-04-19 19:06:37 +03:00
2 changed files with 30 additions and 4 deletions

11
TODO.md
View File

@@ -11,13 +11,13 @@
1. Разгребальщик апдейтов и формирователь redis-ных сообщений.
[ ] Написана заглушка для парсера апдейтов bot api телеграма
[V] Написана заглушка для парсера апдейтов bot api телеграма
[V] Написан парсер прочих команд
2. Разгребальщик редисных сообщений и формирователь запросов в tg bot api.
[ ] Написан черновой вариант разгребателя
[V] Написан черновой вариант разгребателя
[ ] Написан мигратор для группового чата. (апгрейд до супергруппы, до чата с тредами)
@@ -35,9 +35,11 @@
6 [ ] [ ] obutts
7 [V] [ ] chan_msg
7 [V] [V] chan_msg (Пока что бот сам удяляет сообщения от таких имперсонализированных пользователей, однако в прроде
есть возможность таких персонажей банить, см banChatSenderChat()/unbanChatSenderChat()
https://core.telegram.org/bots/api#banchatsenderchat, надо ли реализовывать такой бан - над этим надо ещё
подумать.)
1 [ ] [ ] настройка для метода banChatSenderChat()/unbanChatSenderChat()
8 [ ] [ ] user ban
@@ -62,3 +64,4 @@
12. [ ] промоут/демоут участника до админа
frontend -> router -> service -> frontend

View File

@@ -1196,6 +1196,29 @@ func Admin(msg *echotron.Update) (bool, error) {
default:
answer += "Не понимаю, о чём ты."
}
case regexp.MustCompile("^(admin|админ)[[:space:]](chan_msg)[[:space:]].*$").MatchString(c):
// Снова регулярка, это не оч эффективно, но зато просто.
cmdArray := regexp.MustCompile("[[:space:]]").Split(c, 3)
switch cmdArray[2] {
case "1":
if err := SaveSetting(fmt.Sprintf("%d", msg.Message.Chat.ID), "ChanMsg", "1"); err != nil {
return true, err
}
answer += "Будем удалять сообщения, написанные от имени канала"
case "0":
if err := SaveSetting(fmt.Sprintf("%d", msg.Message.Chat.ID), "ChanMsg", "0"); err != nil {
return true, err
}
answer += "Не будем удалять сообщения, написанные от имени канала"
default:
answer += "Не понимаю, о чём ты."
}
}
resp, err := tg.SendMessage(