Добавлена команда !я.
This commit is contained in:
parent
e61b2d1c14
commit
099fd5efea
4 changed files with 58 additions and 0 deletions
|
|
@ -44,6 +44,8 @@ async def help_handler(message: Message):
|
|||
return
|
||||
|
||||
response = Bold('Команды для всех') + '\n'
|
||||
response += '!я - показать визитку участника\n'
|
||||
response += '!я* - изменить визитку участника\n'
|
||||
response += '!правила - вывести правила\n'
|
||||
response += '!сегодня - статистика сообщений за сегодня\n'
|
||||
response += '!месяц - статистика сообщений за месяц\n'
|
||||
|
|
@ -63,6 +65,31 @@ async def help_handler(message: Message):
|
|||
await message.answer(**response.as_kwargs())
|
||||
|
||||
|
||||
@router.message(F.text == "!я")
|
||||
async def about_handler(message: Message):
|
||||
chat_id = message.chat.id
|
||||
chat = database.DB.create_chat_if_not_exists(chat_id)
|
||||
if chat['active'] == 0:
|
||||
await message.answer(MESSAGE_CHAT_NOT_ACTIVE)
|
||||
return
|
||||
|
||||
user_id = message.from_user.id
|
||||
user = database.DB.create_user_if_not_exists(chat_id, user_id)
|
||||
if message.reply_to_message is None:
|
||||
if user['about'] is not None:
|
||||
response = Italic(format(utils.full_name(message.from_user.first_name, message.from_user.last_name))) + '\n'
|
||||
response += user['about']
|
||||
await message.answer(**response.as_kwargs())
|
||||
else:
|
||||
await message.answer('Вы не установили визитку.')
|
||||
else:
|
||||
if message.reply_to_message.content_type == ContentType.TEXT:
|
||||
database.DB.user_update(chat_id, user_id, about=message.reply_to_message.text)
|
||||
await message.answer('Визитка изменена.')
|
||||
else:
|
||||
await message.answer('Извините, но я понимаю только текст.')
|
||||
|
||||
|
||||
@router.message(F.text == "!сегодня")
|
||||
async def stats_today_handler(message: Message, bot: Bot):
|
||||
chat_id = message.chat.id
|
||||
|
|
|
|||
|
|
@ -23,6 +23,7 @@ class TgDatabase(database.BasicDatabase):
|
|||
"messages_today" INTEGER NOT NULL DEFAULT 0,
|
||||
"messages_month" INTEGER NOT NULL DEFAULT 0,
|
||||
"warnings" INTEGER NOT NULL DEFAULT 0,
|
||||
"about" TEXT,
|
||||
PRIMARY KEY("chat_id","user_id"))
|
||||
""")
|
||||
|
||||
|
|
|
|||
|
|
@ -49,6 +49,8 @@ async def rules_handler(message: Message):
|
|||
return
|
||||
|
||||
response = bold('Команды для всех') + '\n'
|
||||
response += '!я - показать визитку участника\n'
|
||||
response += '!я* - изменить визитку участника\n'
|
||||
response += '!правила - вывести правила\n'
|
||||
response += '!сегодня - статистика сообщений за сегодня\n'
|
||||
response += '!месяц - статистика сообщений за месяц\n'
|
||||
|
|
@ -72,6 +74,33 @@ async def rules_handler(message: Message):
|
|||
await message.answer(response)
|
||||
|
||||
|
||||
@labeler.chat_message(text="!я")
|
||||
async def about_handler(message: Message):
|
||||
chat_id = message.peer_id
|
||||
chat = database.DB.create_chat_if_not_exists(chat_id)
|
||||
if chat['active'] == 0:
|
||||
await message.answer(MESSAGE_CHAT_NOT_ACTIVE)
|
||||
return
|
||||
|
||||
user_id = message.from_id
|
||||
user = database.DB.create_user_if_not_exists(chat_id, user_id)
|
||||
if message.reply_message is None:
|
||||
info = await message.ctx_api.users.get(user_ids=[user_id])
|
||||
if len(info) == 1:
|
||||
if user['about'] is not None:
|
||||
await message.answer(italic(f'{info[0].first_name} {info[0].last_name}') + '\n' + user['about'])
|
||||
else:
|
||||
await message.answer(MESSAGE_DEFAULT_RULES)
|
||||
else:
|
||||
await message.answer('Не могу получить информацию об участнике.')
|
||||
else:
|
||||
if len(message.reply_message.text) > 0:
|
||||
database.DB.user_update(chat_id, user_id, about=message.reply_message.text)
|
||||
await message.answer('Визитка изменена.')
|
||||
else:
|
||||
await message.answer('Извините, но я понимаю только текст.')
|
||||
|
||||
|
||||
@labeler.chat_message(text="!сегодня")
|
||||
async def stats_today_handler(message: Message):
|
||||
chat_id = message.peer_id
|
||||
|
|
|
|||
|
|
@ -26,6 +26,7 @@ class VkDatabase(database.BasicDatabase):
|
|||
"messages_month" INTEGER NOT NULL DEFAULT 0,
|
||||
"warnings" INTEGER NOT NULL DEFAULT 0,
|
||||
"happy_birthday" INTEGER NOT NULL DEFAULT 1,
|
||||
"about" TEXT,
|
||||
PRIMARY KEY("chat_id","user_id"))
|
||||
""")
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue