commands.py 1.8 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152
  1. """Telegram commands"""
  2. from telegram import ParseMode
  3. from app import LOGGER, database, functions
  4. def cmd_start(update, context):
  5. """Start command"""
  6. LOGGER.info('"@%s" start bot', update.message.from_user.username)
  7. update.message.reply_text(
  8. 'Hello {}, use /add_account to add an account, use /help for a list of commands.'.format(
  9. update.message.from_user.first_name
  10. )
  11. )
  12. telegram_account = database.get_telegram_account(update.message.from_user.id)
  13. if not telegram_account:
  14. database.add_telegram_account(update)
  15. def cmd_help(update, context):
  16. """Help command"""
  17. message_list = [
  18. '**Command list**',
  19. '/add\\_account - add account to list',
  20. '/accounts - list of accounts',
  21. ]
  22. message = '\n'.join(message_list)
  23. update.message.reply_text(message, parse_mode=ParseMode.MARKDOWN)
  24. def cmd_accounts(update, context):
  25. """Return account list"""
  26. message_list = ['Accounts verified to this Telgeram account:']
  27. telegram_account = database.get_telegram_account(update.message.from_user.id)
  28. if telegram_account:
  29. accounts = database.get_rr_accounts(telegram_account)
  30. else:
  31. accounts = []
  32. if not accounts:
  33. message_list.append('• none')
  34. for account in accounts:
  35. desktop_link = '[desktop](https://rivalregions.com/#slide/profile/{})'.format(account.id)
  36. mobile_link = '[mobile](https://m.rivalregions.com/#slide/profile/{})'.format(account.id)
  37. message_list.append(
  38. '• {} {} - {}'.format(
  39. functions.escape_text(account.name),
  40. desktop_link,
  41. mobile_link,
  42. )
  43. )
  44. message = '\n'.join(message_list)
  45. update.message.reply_text(message, parse_mode=ParseMode.MARKDOWN)