Изменено: все тексты ответов бота вынесены с отдельный файл
This commit is contained in:
parent
d54ea60f30
commit
61270b83e7
34
bot.py
34
bot.py
|
@ -6,6 +6,7 @@ import telegram
|
||||||
from tg.keyboards import Keyboard
|
from tg.keyboards import Keyboard
|
||||||
import logging
|
import logging
|
||||||
from logging.handlers import TimedRotatingFileHandler as TRFL
|
from logging.handlers import TimedRotatingFileHandler as TRFL
|
||||||
|
import configparser
|
||||||
|
|
||||||
logger = logging.getLogger('bot')
|
logger = logging.getLogger('bot')
|
||||||
|
|
||||||
|
@ -69,13 +70,14 @@ class Bot:
|
||||||
else:
|
else:
|
||||||
self.tg.sendMessage(
|
self.tg.sendMessage(
|
||||||
tgId,
|
tgId,
|
||||||
"Ой!",
|
loc['etc']['oops'],
|
||||||
reply_markup=Keyboard.menu(),
|
reply_markup=Keyboard.menu(),
|
||||||
)
|
)
|
||||||
|
|
||||||
def start(self, query: telegram.Message):
|
def start(self, query: telegram.Message):
|
||||||
"""Обработка нового пользователя"""
|
"""Обработка нового пользователя"""
|
||||||
|
|
||||||
|
global _
|
||||||
# Проверка лимита пользователей и обработка лишних
|
# Проверка лимита пользователей и обработка лишних
|
||||||
count = self.l9lk.countUsers()
|
count = self.l9lk.countUsers()
|
||||||
tgId = query.from_user.id
|
tgId = query.from_user.id
|
||||||
|
@ -83,27 +85,20 @@ class Bot:
|
||||||
if count >= self.limit:
|
if count >= self.limit:
|
||||||
self.tg.sendMessage(
|
self.tg.sendMessage(
|
||||||
tgId,
|
tgId,
|
||||||
(
|
loc['etc']['overlimit'],
|
||||||
'Бот работает в тестовом режиме, поэтому количество пользователей временно ограничено.\n'
|
|
||||||
'К сожалению, в данный момент лимит превышен, поэтому доступ для вас закрыт 😢'
|
|
||||||
'Попробуйте зайти на следующей неделе, когда лимит будет повышен'
|
|
||||||
),
|
|
||||||
)
|
)
|
||||||
|
|
||||||
else:
|
else:
|
||||||
self.tg_db.changeTag(tgId, 'add')
|
self.tg_db.changeTag(tgId, 'add')
|
||||||
self.tg.sendMessage(
|
self.tg.sendMessage(
|
||||||
tgId,
|
tgId,
|
||||||
(
|
loc['etc']['hello'],
|
||||||
'Привет! Я твой новый помощник, который подскажет тебе, какая сейчас пара, '
|
|
||||||
'и будет напоминать о занятиях, чтобы ты ничего не упустил 🤗\n'
|
|
||||||
'Давай знакомиться! Введи свой номер группы (например, 2305 или 2305-240502D)'
|
|
||||||
),
|
|
||||||
)
|
)
|
||||||
|
|
||||||
def addGroup(self, l9Id: int, query: telegram.Message):
|
def addGroup(self, l9Id: int, query: telegram.Message):
|
||||||
"""Процесс добавления группы"""
|
"""Процесс добавления группы"""
|
||||||
|
|
||||||
|
global _
|
||||||
groupName = query.text
|
groupName = query.text
|
||||||
tgId = query.from_user.id
|
tgId = query.from_user.id
|
||||||
|
|
||||||
|
@ -113,21 +108,21 @@ class Bot:
|
||||||
self.tg_db.changeTag(tgId, 'ready')
|
self.tg_db.changeTag(tgId, 'ready')
|
||||||
self.tg.sendMessage(
|
self.tg.sendMessage(
|
||||||
tgId,
|
tgId,
|
||||||
f'Поздравляем, твоя группа {groupName}, направление "{specName}", подключена!',
|
loc['group']['connected'] % (groupName, specName),
|
||||||
reply_markup=Keyboard.menu(),
|
reply_markup=Keyboard.menu(),
|
||||||
)
|
)
|
||||||
|
|
||||||
elif result == 'Exists':
|
elif result == 'Exists':
|
||||||
self.tg.sendMessage(
|
self.tg.sendMessage(
|
||||||
tgId,
|
tgId,
|
||||||
'❗️Эта группа у тебя уже подключена',
|
loc['group']['exists'],
|
||||||
reply_markup=Keyboard.cancel(),
|
reply_markup=Keyboard.cancel(),
|
||||||
)
|
)
|
||||||
|
|
||||||
elif result == 'Error':
|
elif result == 'Error':
|
||||||
self.tg.sendMessage(
|
self.tg.sendMessage(
|
||||||
tgId,
|
tgId,
|
||||||
'❗У меня этой группы пока нет, а сайте возникла какая-то ошибка.\nПопробуйте позже',
|
loc['group']['error'],
|
||||||
reply_markup=Keyboard.cancel(),
|
reply_markup=Keyboard.cancel(),
|
||||||
)
|
)
|
||||||
|
|
||||||
|
@ -135,18 +130,14 @@ class Bot:
|
||||||
self.tg_db.changeTag(tgId, f'conf_{result[21:]}')
|
self.tg_db.changeTag(tgId, f'conf_{result[21:]}')
|
||||||
self.tg.sendMessage(
|
self.tg.sendMessage(
|
||||||
tgId,
|
tgId,
|
||||||
(
|
loc['group']['checkSedule'] % (result),
|
||||||
'Такой группы у меня пока нет в базе, но она есть на сайте\n'
|
|
||||||
f'{result}\n'
|
|
||||||
'Проверь, пожалуйста, что это твоя группа и нажми кнопку\n'
|
|
||||||
),
|
|
||||||
reply_markup=Keyboard.confirm(),
|
reply_markup=Keyboard.confirm(),
|
||||||
)
|
)
|
||||||
|
|
||||||
else:
|
else:
|
||||||
self.tg.sendMessage(
|
self.tg.sendMessage(
|
||||||
tgId,
|
tgId,
|
||||||
'К сожалению, такой группы нет ни в моей базе, ни на сайте университета :(',
|
loc['group']['empty'],
|
||||||
reply_markup=Keyboard.cancel(),
|
reply_markup=Keyboard.cancel(),
|
||||||
)
|
)
|
||||||
|
|
||||||
|
@ -155,6 +146,9 @@ if __name__ == "__main__":
|
||||||
initLogger()
|
initLogger()
|
||||||
logger.info("Start bot")
|
logger.info("Start bot")
|
||||||
|
|
||||||
|
loc = configparser.ConfigParser()
|
||||||
|
loc.read('./locale/ru.ini', encoding='utf-8')
|
||||||
|
|
||||||
config = loadJSON("config")
|
config = loadJSON("config")
|
||||||
l9lk = L9_DB(**config['sql'])
|
l9lk = L9_DB(**config['sql'])
|
||||||
tg_db = TG_DB(l9lk)
|
tg_db = TG_DB(l9lk)
|
||||||
|
|
|
@ -0,0 +1,17 @@
|
||||||
|
[etc]
|
||||||
|
oops=Ой!
|
||||||
|
|
||||||
|
overlimit=Бот работает в тестовом режиме, поэтому количество пользователей временно ограничено.\nК сожалению, в данный момент лимит превышен, поэтому доступ для вас закрыт 😢\n Попробуйте зайти на следующей неделе, когда лимит будет повышен
|
||||||
|
|
||||||
|
hello=Привет! Я твой новый помощник, который подскажет тебе, какая сейчас пара, и будет напоминать о занятиях, чтобы ты ничего не упустил 🤗\nДавай знакомиться! Введи свой номер группы (например, 2305 или 2305-240502D)
|
||||||
|
|
||||||
|
[group]
|
||||||
|
connected=Поздравляем, твоя группа %%s, направление "%%s", подключена!
|
||||||
|
|
||||||
|
exists=❗️Эта группа у тебя уже подключена
|
||||||
|
|
||||||
|
error=❗У меня этой группы пока нет, а сайте возникла какая-то ошибка.\nПопробуйте позже
|
||||||
|
|
||||||
|
checkShedule=Такой группы у меня пока нет в базе, но она есть на сайте\n%%s\nПроверь, пожалуйста, что это твоя группа и нажми кнопку
|
||||||
|
|
||||||
|
empty=К сожалению, такой группы нет ни в моей базе, ни на сайте университета :(
|
Reference in New Issue