Добавлена команда !кто.
This commit is contained in:
parent
5ba307c590
commit
1672d62e47
2 changed files with 57 additions and 10 deletions
|
|
@ -44,8 +44,9 @@ async def help_handler(message: Message):
|
|||
return
|
||||
|
||||
response = Bold('Команды для всех') + '\n'
|
||||
response += '!я - показать визитку участника\n'
|
||||
response += '!я* - изменить визитку участника\n'
|
||||
response += '!я - показать свою визитку\n'
|
||||
response += '!я* - изменить свою визитку\n'
|
||||
response += '!кто* - показать визитку участника\n'
|
||||
response += '!правила - вывести правила\n'
|
||||
response += '!сегодня - статистика сообщений за сегодня\n'
|
||||
response += '!месяц - статистика сообщений за месяц\n'
|
||||
|
|
@ -73,23 +74,44 @@ async def about_handler(message: Message):
|
|||
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)
|
||||
target_user = message.from_user
|
||||
user = database.DB.create_user_if_not_exists(chat_id, target_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']
|
||||
response = Italic(utils.full_name(target_user.first_name, target_user.last_name)) + '\n' + 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)
|
||||
database.DB.user_update(chat_id, target_user.id, about=message.reply_to_message.text)
|
||||
await message.answer('Визитка изменена.')
|
||||
else:
|
||||
await message.answer('Извините, но я понимаю только текст.')
|
||||
|
||||
|
||||
@router.message(F.text == "!кто")
|
||||
async def whois_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
|
||||
|
||||
if message.reply_to_message is None:
|
||||
await message.answer(MESSAGE_NEED_REPLY)
|
||||
return
|
||||
|
||||
target_user = message.reply_to_message.from_user
|
||||
full_name = utils.full_name(target_user.first_name, target_user.last_name)
|
||||
user = database.DB.get_user(chat_id, target_user.id)
|
||||
if user is not None and user['about'] is not None:
|
||||
response = Italic(full_name) + '\n' + user['about']
|
||||
await message.answer(**response.as_kwargs())
|
||||
else:
|
||||
await message.answer(f'У {full_name} нет визитки.')
|
||||
|
||||
|
||||
@router.message(F.text == "!сегодня")
|
||||
async def stats_today_handler(message: Message, bot: Bot):
|
||||
chat_id = message.chat.id
|
||||
|
|
|
|||
|
|
@ -49,8 +49,9 @@ async def rules_handler(message: Message):
|
|||
return
|
||||
|
||||
response = bold('Команды для всех') + '\n'
|
||||
response += '!я - показать визитку участника\n'
|
||||
response += '!я* - изменить визитку участника\n'
|
||||
response += '!я - показать свою визитку\n'
|
||||
response += '!я* - изменить свою визитку\n'
|
||||
response += '!кто* - показать визитку участника\n'
|
||||
response += '!правила - вывести правила\n'
|
||||
response += '!сегодня - статистика сообщений за сегодня\n'
|
||||
response += '!месяц - статистика сообщений за месяц\n'
|
||||
|
|
@ -90,7 +91,7 @@ async def about_handler(message: Message):
|
|||
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)
|
||||
await message.answer('Вы не установили визитку.')
|
||||
else:
|
||||
await message.answer('Не могу получить информацию об участнике.')
|
||||
else:
|
||||
|
|
@ -101,6 +102,30 @@ async def about_handler(message: Message):
|
|||
await message.answer('Извините, но я понимаю только текст.')
|
||||
|
||||
|
||||
@labeler.chat_message(text="!кто")
|
||||
async def whois_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
|
||||
|
||||
if message.reply_message is None:
|
||||
await message.answer(MESSAGE_NEED_REPLY)
|
||||
return
|
||||
|
||||
target_user_id = message.reply_message.from_id
|
||||
info = await message.ctx_api.users.get(user_ids=[target_user_id])
|
||||
if len(info) == 1:
|
||||
user = database.DB.get_user(chat_id, target_user_id)
|
||||
if user is not None and 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(f'У {info[0].first_name} {info[0].last_name} нет визитки.')
|
||||
else:
|
||||
await message.answer('Не могу получить информацию об участнике.')
|
||||
|
||||
|
||||
@labeler.chat_message(text="!сегодня")
|
||||
async def stats_today_handler(message: Message):
|
||||
chat_id = message.peer_id
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue