Advertisement
YaKotikTvoy

main

Aug 21st, 2023 (edited)
47
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 6.30 KB | Software | 0 0
  1. import settings
  2. from bot import bot
  3. import config_loader as config_loader
  4. from scenary import main as scenary_main
  5.  
  6. import time
  7. from multiprocessing.context import Process
  8. import keyboards
  9. from logic import balance, edit_profile, prognoz, chat, new_user, main, pool
  10. import helpers
  11. import message_mapper
  12.  
  13. from dal.User import User
  14. import json
  15. from logic.activity import start_schedule, start_prognoz_schedule, start_prognoz_spammer
  16.  
  17. config = config_loader.Config()
  18.  
  19.  
  20. @bot.callback_query_handler(func=lambda c: True)
  21. def submenus(c):
  22.     bot.clear_step_handler_by_chat_id(chat_id=c.message.chat.id)
  23.     try:
  24.         bot.edit_message_reply_markup(c.message.chat.id, message_id=c.message.message_id - 1, reply_markup='')
  25.     except:
  26.         pass
  27.     user = User(c.from_user.id)
  28.     try:
  29.         c_data = json.loads(c.data)
  30.  
  31.         if c_data['s'] == 'main':
  32.             main.submenus(c.message, c_data, user)
  33.         if c_data['s'] == 'new_user':
  34.             new_user.submenus(c.message, c_data, user)
  35.         if c_data['s'] == 'balance':
  36.             balance.submenus(c.message, c_data, user)
  37.         if c_data['s'] == 'edit_profile':
  38.             edit_profile.submenus(c.message, c_data, user)
  39.         if c_data['s'] == 'prognoz':
  40.             prognoz.submenus(c.message, c_data, user)
  41.         if c_data['s'] == 'chat':
  42.             chat.submenus(c.message, c_data, user)
  43.         if c_data['s'] == 'pool':
  44.             pool.submenus(c.message, c_data, user)
  45.     except Exception as e:
  46.         helpers.logs('submenus:\nПользователь:' + str(user.id) + ' ' + user.user_info.user_name + '\n' + str(
  47.             e.args) + '\n' + c.data)
  48.  
  49.  
  50. # Функция, обрабатывающая команду /start
  51. @bot.message_handler(commands=["start"])
  52. def start(m, res=False):
  53.     user = User(m.from_user.id)
  54.     try:
  55.         if user.is_confirm_user:
  56.             bot.clear_step_handler_by_chat_id(chat_id=m.chat.id)
  57.             if user.has_no_reg_data():
  58.                 new_user.init(m, user)
  59.             else:
  60.                 helpers.bot_message_send(user, m, scenary_main.get_hello(user.user_info.name),
  61.                                          keyboards.main_menu(), 'html')
  62.                 helpers.bot_message_send(user, m, scenary_main.get_menu_text(user), keyboards.menu(), "html")
  63.         else:
  64.             user.new_user(bot, m.chat.id, m.from_user.id, m.from_user.username, m.from_user.language_code, m.text)
  65.             new_user.init(m, user)
  66.  
  67.     except Exception as e:
  68.         helpers.logs('start:\nПользователь:' + str(user.id) + ' ' + user.user_info.user_name + '\n' + str(e.args))
  69.  
  70.  
  71. @bot.message_handler(content_types=['text'])
  72. def menus(message):
  73.     try:
  74.         bot.edit_message_reply_markup(message.chat.id, message_id=message.message_id - 1, reply_markup='')
  75.     except:
  76.         pass
  77.     m = message.text.strip()
  78.     user = User(message.from_user.id)
  79.  
  80.     try:
  81.         if m == 'Продолжить':
  82.             bot.clear_step_handler_by_chat_id(chat_id=message.chat.id)
  83.             user.user_info.set_is_updated(True)
  84.             if not user.has_no_reg_data():
  85.                 helpers.bot_message_send(user, message,
  86.                                          'На чем мы остановились?',
  87.                                          keyboards.main_menu())
  88.             else:
  89.                 helpers.bot_message_send(user, message,
  90.                                          'Давай продолжим регистрацию',
  91.                                          keyboards.default())
  92.                 new_user.init(message, user)
  93.             return
  94.  
  95.         if m == 'Профиль👑':
  96.             user.set_last_step_handler("")
  97.             bot.clear_step_handler_by_chat_id(chat_id=message.chat.id)
  98.             helpers.bot_message_send(user, message, scenary_main.get_profile(user),
  99.                                      keyboards.profile(user))
  100.             return
  101.         if m == 'Меню':
  102.             user.set_last_step_handler("")
  103.             bot.clear_step_handler_by_chat_id(chat_id=message.chat.id)
  104.             helpers.bot_message_send(user, message, scenary_main.get_menu_text(user), keyboards.menu(), "html")
  105.             return
  106.         if m == 'Помощь☘':
  107.             user.set_last_step_handler("")
  108.             bot.clear_step_handler_by_chat_id(chat_id=message.chat.id)
  109.             helpers.bot_message_send(user, message, scenary_main.get_support(), None, 'Markdown')
  110.             return
  111.         if m == 'Отмена':
  112.             bot.clear_step_handler_by_chat_id(chat_id=message.chat.id)
  113.             helpers.bot_message_send(user, message,
  114.                                      'Ваш платеж отменен. Получить космики можно просто позвав друзей! За каждого друга будет начислено 2 космика⭐️',
  115.                                      keyboards.main_menu())
  116.             return
  117.  
  118.         message_mapper.message_caser(message, user)
  119.     except Exception as e:
  120.         helpers.logs('menus:\nПользователь:' + str(user.id) + ' ' + user.user_info.user_name + '\n' + str(
  121.             e.args) + '\n' + 'text:' + message)
  122.  
  123.  
  124. def Poller():
  125.     try:
  126.         bot.polling(none_stop=True, interval=0)
  127.     except Exception as e:
  128.         helpers.logs('Poller:' + str(e.args))
  129.         time.sleep(2)
  130.         Poller()
  131.  
  132.  
  133. def Processes_spammer():
  134.     try:
  135.         Process(target=start_schedule, args=(10, '1')).start()
  136.     except Exception as e:
  137.         helpers.logs('Processes_spammer:' + str(e.args))
  138.         time.sleep(2)
  139.         Processes_spammer()
  140.  
  141.  
  142. def Processes_autoprognoz():
  143.     try:
  144.         Process(target=start_prognoz_schedule, args=(10, '1')).start()
  145.     except Exception as e:
  146.         helpers.logs('Processes_autoprognoz:' + str(e.args))
  147.         time.sleep(2)
  148.         Processes_autoprognoz()
  149.  
  150.  
  151. def Processes_autoprognoz_spammer():
  152.     try:
  153.         Process(target=start_prognoz_spammer, args=(10, '1')).start()
  154.     except Exception as e:
  155.         helpers.logs('Processes_autoprognoz_spammer:' + str(e.args))
  156.         time.sleep(2)
  157.         Processes_autoprognoz_spammer()
  158.  
  159.  
  160. # Запускаем бота
  161. if __name__ == '__main__':
  162.     Processes_spammer()
  163.     Processes_autoprognoz()
  164.     Processes_autoprognoz_spammer()
  165.     Poller()
  166.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement