Advertisement
Guest User

Bot_vk

a guest
Dec 19th, 2019
428
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. import random
  2. from contextlib import closing
  3. import threading, time
  4. import json
  5. import threading
  6.  
  7. import pymysql
  8. import vk_api
  9. from pymysql.cursors import DictCursor
  10.  
  11. from modules import get_balance, send_coins
  12. from variables import db_host, db_username, db_password, db_name, access_token, merchant
  13. import datetime
  14.  
  15. vk = vk_api.VkApi(token=access_token)
  16.  
  17. def command_center(event):
  18.     with closing(pymysql.connect(host=db_host, user=db_username, password=db_password, db=db_name, charset="utf8mb4",
  19.                                  cursorclass=DictCursor)) as connection:
  20.         with connection.cursor() as cursor:
  21.             # Выделение id и текста из сообщения
  22.             player_id = event.object.from_id
  23.             request = event.object.text.lower()
  24.             if len(request) != 0:
  25.                 # Получение данных об игроке
  26.                 cursor.execute(f"SELECT state, poststate  FROM users WHERE id = {player_id}")
  27.                 data = cursor.fetchone()
  28.                 # Если игрок не зарегистрирован
  29.                 if data is None:
  30.                     # Сохранение игрока в бд
  31.                     cursor.execute(f"INSERT INTO users (id) VALUES ({player_id})")
  32.                     cursor.execute(f"INSERT INTO top_bm (id) VALUES ({player_id})")
  33.                     cursor.execute(f'Select * from top_bm')
  34.                     data1 = cursor.fetchall()
  35.                     for i in data1:
  36.                         name = vk.method("users.get", {"user_ids": i['id'], "fields": 'first_name'})
  37.                         name_n = name[0]['first_name']
  38.                         name_f = name[0]['last_name']
  39.                     cursor.execute(f"UPDATE top_bm SET имя = '{name_n}', фамилия = '{name_f}' WHERE id = {player_id}")
  40.                     connection.commit()
  41.                     vk.method("messages.send", {"user_id": player_id, "message": "Здарова, выбери игру ",
  42.                                                 "random_id": random.randint(-2147483648, 2147483647),
  43.                                                 "keyboard": keyboard_main_menu})
  44.                 else:
  45.                     state, poststate = data["state"], data["poststate"]
  46.                     if state == "main_menu":
  47.                         main_menu(request, player_id)
  48.                     elif state == "rates":
  49.                         rates(request, player_id, poststate)
  50.                     elif state == 'vib':
  51.                         vib(request, player_id)
  52.                     elif state == 'yg':
  53.                         yg(request, player_id,poststate)
  54.  
  55.  
  56.  
  57. def main_menu(request, player_id):
  58.     with closing(pymysql.connect(host=db_host, user=db_username, password=db_password, db=db_name, charset="utf8mb4",
  59.                                  cursorclass=DictCursor)) as connection:
  60.         with connection.cursor() as cursor:
  61.                     balance = get_balance(player_id)['coins']
  62.                     if "💼балансаланс vkcoin" in request:
  63.                         a = merchant.get_balance(player_id)
  64.                         for key in a.keys():
  65.                             message = f'💰Твой баланс {round(balance,3)} коинов\n💸Твой баланс в приложении составляет {a[key]//1000}'
  66.                         keyboard = keyboard_main_menu
  67.                         cursor.execute(f"UPDATE users SET state = 'main_menu' WHERE id = {player_id}")
  68.                     elif '📥вывести' in request:
  69.                         balance = get_balance(player_id)['coins']
  70.                         v = merchant.get_balance(395429675)
  71.                         for key in v.keys():
  72.                             v = v[key]/1000
  73.                         if balance < v:
  74.                             if balance != 0:
  75.                                 send_coins(player_id, balance)
  76.                                 keyboard = keyboard_main_menu
  77.                                 message = 'Мы только что отправили тебе: ' + str(balance) + ' коинов'
  78.                                 cursor.execute(f"UPDATE users SET coins = 0 WHERE id = {player_id}")
  79.                             else:
  80.                                 message = ('📸Попался \n 💼Твой баланс: 0')
  81.                                 keyboard = keyboard_main_menu
  82.                                 cursor.execute(f"UPDATE users SET state = 'main_menu' WHERE id = {player_id}")
  83.                         else:
  84.                             if balance > v:
  85.                                 message = ('🛑Баланс бота меньше вашего вывода \n💹Ожидайте пополнения...')
  86.                                 keyboard = keyboard_main_menu
  87.                             cursor.execute(f"UPDATE users SET state = 'main_menu' WHERE id = {player_id}")
  88.                     elif "💱выбрать игру" in request:
  89.                         message = 'Во что хотите сыграть?'
  90.                         keyboard = keyboard_vib
  91.                         cursor.execute(f"UPDATE users SET state = 'vib' WHERE id = {player_id}")
  92.                     elif '📊топ-игроков' in request:
  93.                         cursor.execute(f'Select * from top_bm order by coin desc limit 10')
  94.                         data = cursor.fetchall()
  95.                         message = "ТОП-10 Игроков"
  96.                         for i in data:
  97.                             message += f"\n[id{i['id']}|{i['имя']} {i['фамилия']}] выиграл {i['coin']} коинов\n\n"
  98.                         cursor.execute(f'Select * from top_bm  where id = {player_id}')
  99.                         dat = cursor.fetchall()
  100.                         for i in dat:
  101.                             message += f"Ты выйграл {i['coin']+5}"
  102.                         keyboard = keyboard_main_menu
  103.                         cursor.execute(f"UPDATE users SET state = 'main_menu' WHERE id = {player_id}")
  104.                     elif '🆓ежедневный бонус' in request:
  105.                         en = random.randint(1, 25000)
  106.                         cursor.execute(f'Select * from users WHERE id = {player_id}')
  107.                         data = cursor.fetchone()
  108.                         if int(time.time()) > data['е_н']:
  109.                             message = f"Твоя ежедневная награда составила {en} коинов"
  110.                             keyboard = keyboard_main_menu
  111.                             cursor.execute(f"UPDATE users SET state = 'main_menu',е_н = unix_timestamp(now())+86400 WHERE id = {player_id}")
  112.                             cursor.execute(
  113.                                 f"UPDATE users SET coins = coins+{en} WHERE id = {player_id}")
  114.                         else:
  115.                             message = f"💬Упс...\n🚫Кажется ты уже забирал бонус \n⏰Приходи позже"
  116.                             keyboard = keyboard_main_menu
  117.                             cursor.execute(
  118.                                 f"UPDATE users SET state = 'main_menu' WHERE id = {player_id}")
  119.                     elif "назад" in request:
  120.                         message = "🚪Вы вернулись в меню"
  121.                         keyboard = keyboard_main_menu
  122.                         cursor.execute(f"UPDATE users SET state = 'main_menu' WHERE id = {player_id}")
  123.                     else:
  124.                         message = "Команда не распознана"
  125.                         keyboard = keyboard_main_menu
  126.                         cursor.execute(f"UPDATE users SET state = 'main_menu' WHERE id = {player_id}")
  127.                     vk.method("messages.send",
  128.                                   {"user_id": player_id, "message": message,
  129.                                    "random_id": random.randint(-2147483648, 2147483647),
  130.                                    "keyboard": keyboard})
  131.                     connection.commit()
  132.                     while True:
  133.                         cursor.execute(f'Select * from users  WHERE id = {player_id}')
  134.                         users = cursor.fetchall()
  135.                         for i in users:
  136.                             bal = i['coins'] + 5
  137.                             cursor.execute(f"UPDATE users SET coins = {bal} WHERE id = {player_id}")
  138.                             print(bal)
  139.                             connection.commit()
  140.                         time.sleep(30)
  141.  
  142.  
  143.  
  144. def vib(request, player_id):
  145.     with closing(pymysql.connect(host=db_host, user=db_username, password=db_password, db=db_name, charset="utf8mb4",
  146.                                  cursorclass=DictCursor)) as connection:
  147.         with connection.cursor() as cursor:
  148.             if '📈бм7📉' in request:
  149.                 message = "Сделайте свою ставку"
  150.                 # Бал передаем в  кнопку
  151.                 cursor.execute(f'Select * from users where id = {player_id}')
  152.                 dat = cursor.fetchall()
  153.                 for i in dat:
  154.                     vabank = f"{i['coins']}"
  155.  
  156.                     keyboard_rat = {
  157.                         "one_time": False,
  158.                         "buttons": [
  159.                             [{
  160.                                 "action": {
  161.                                     "type": "text",
  162.                                     "label": "100"
  163.                                 },
  164.                                 "color": "secondary"
  165.                             },
  166.                                 {
  167.                                     "action": {
  168.                                         "type": "text",
  169.                                         "label": "1000"
  170.                                     },
  171.                                     "color": "secondary"
  172.                                 },
  173.                                 {
  174.                                     "action": {
  175.                                         "type": "text",
  176.                                         "label": "10000"
  177.                                     },
  178.                                     "color": "secondary"
  179.                                 },
  180.                                 {
  181.                                     "action": {
  182.                                         "type": "text",
  183.                                         "label": "100000"
  184.                                     },
  185.                                     "color": "secondary"
  186.                                 }],
  187.                             [{
  188.                                 "action": {
  189.                                     "type": "text",
  190.                                     "label": "1000000"
  191.                                 },
  192.                                 "color": "secondary"
  193.                             },
  194.                                 {
  195.                                     "action": {
  196.                                         "type": "text",
  197.                                         "label": f'{vabank}'
  198.                                     },
  199.                                     "color": "secondary"
  200.                                 },
  201.                                 {
  202.                                     "action": {
  203.                                         "type": "text",
  204.                                         "label": 'Назад'
  205.                                     },
  206.                                     "color": "secondary"
  207.  
  208.                                 }]
  209.                         ]
  210.                     }
  211.                     keyboard_rat = json.dumps(keyboard_rat, ensure_ascii=False).encode("UTF-8")
  212.                     keyboard_rat = str(keyboard_rat.decode("UTF-8"))
  213.  
  214.                     keyboard = keyboard_rat
  215.                 cursor.execute(f"UPDATE users SET state = 'rates', poststate = 'stav' WHERE id = {player_id}")
  216.             elif '👥онлайн игры' in request:
  217.                 message = '💥Находится в разработке'
  218.                 keyboard = keyboard_vib
  219.             elif '🔖угадай число' in request:
  220.                 message = 'Сделайте вашу ставку'
  221.                 cursor.execute(f'Select * from users where id = {player_id}')
  222.                 dat = cursor.fetchall()
  223.                 for i in dat:
  224.                     vabank = f"{i['coins']}"
  225.  
  226.                 keyboard_rat = {
  227.                     "one_time": False,
  228.                     "buttons": [
  229.                         [{
  230.                             "action": {
  231.                                 "type": "text",
  232.                                 "label": "100"
  233.                             },
  234.                             "color": "secondary"
  235.                         },
  236.                             {
  237.                                 "action": {
  238.                                     "type": "text",
  239.                                     "label": "1000"
  240.                                 },
  241.                                 "color": "secondary"
  242.                             },
  243.                             {
  244.                                 "action": {
  245.                                     "type": "text",
  246.                                     "label": "10000"
  247.                                 },
  248.                                 "color": "secondary"
  249.                             },
  250.                             {
  251.                                 "action": {
  252.                                     "type": "text",
  253.                                     "label": "100000"
  254.                                 },
  255.                                 "color": "secondary"
  256.                             }],
  257.                         [{
  258.                             "action": {
  259.                                 "type": "text",
  260.                                 "label": "1000000"
  261.                             },
  262.                             "color": "secondary"
  263.                         },
  264.                             {
  265.                                 "action": {
  266.                                     "type": "text",
  267.                                     "label": f'{vabank}'
  268.                                 },
  269.                                 "color": "secondary"
  270.                             },
  271.                             {
  272.                                 "action": {
  273.                                     "type": "text",
  274.                                     "label": 'Назад'
  275.                                 },
  276.                                 "color": "secondary"
  277.  
  278.                             }]
  279.                     ]
  280.                 }
  281.                 keyboard_rat = json.dumps(keyboard_rat, ensure_ascii=False).encode("UTF-8")
  282.                 keyboard_rat = str(keyboard_rat.decode("UTF-8"))
  283.                 keyboard = keyboard_rat
  284.  
  285.                 cursor.execute(f"UPDATE users SET state = 'yg', poststate = 'st' WHERE id = {player_id}")
  286.             else:
  287.                 if 'назад' in request:
  288.                     message = 'Вы вернулись в меню'
  289.                     keyboard = keyboard_main_menu
  290.                     cursor.execute(f"UPDATE users SET state = 'main_menu' WHERE id = {player_id}")
  291.                 else:
  292.                     message = 'Неизветная команда!'
  293.                     keyboard = keyboard_vib
  294.             vk.method("messages.send",
  295.                       {"user_id": player_id, "message": message, "random_id": random.randint(-2147483648, 2147483647),
  296.                        "keyboard": keyboard})
  297.             connection.commit()
  298.  
  299. def rates(request, player_id, poststate):
  300.     with closing(pymysql.connect(host=db_host, user=db_username, password=db_password, db=db_name, charset="utf8mb4",
  301.                                  cursorclass=DictCursor)) as connection:
  302.         with connection.cursor() as cursor:
  303.             cube = random.randint(3,12)
  304.             balance = get_balance(player_id)['coins']
  305.             if poststate == 'stav':
  306.                 try:
  307.                     rate = float(request)
  308.                     if balance >= rate and rate != 0 and rate > 0.9:
  309.                         message = f'⌛Ставка принята\n💸Твоя ставка: {rate}\n💰Ваш баланс: {round(balance,3)}\n📈📉Сделай свой выбор'
  310.                         keyboard = keyboard_rates
  311.                         cursor.execute(f"UPDATE users SET state = 'rates', poststate = 'bm',stavka = stavka + {rate} WHERE id = {player_id}")
  312.                         vk.method("messages.send",
  313.                                   {"user_id": player_id, "message": message,
  314.                                    "random_id": random.randint(-2147483648, 2147483647),
  315.                                    "keyboard": keyboard})
  316.                         connection.commit()
  317.                     else:
  318.                         if balance <= rate:
  319.                             message = "Твой баланс меньше ставки"
  320.                             cursor.execute(f"UPDATE users SET state = 'rates', poststate = 'stav' WHERE id = {player_id}")
  321.                         elif rate == 0:
  322.                             message = "Ваш баланс 0"
  323.                             cursor.execute(
  324.                                 f"UPDATE users SET state = 'rates', poststate = 'stav' WHERE id = {player_id}")
  325.                         elif rate < 0.9:
  326.                             message = "Минимальная ставка 1"
  327.                             cursor.execute(
  328.                                 f"UPDATE users SET state = 'rates', poststate = 'stav' WHERE id = {player_id}")
  329.                         vk.method("messages.send",
  330.                                   {"user_id": player_id, "message": message,
  331.                                    "random_id": random.randint(-2147483648, 2147483647)})
  332.                         connection.commit()
  333.                 except ValueError:
  334.                     if "назад" in request:
  335.                         message = "Вы вернулись в меню"
  336.                         keyboard = keyboard_main_menu
  337.                         cursor.execute(f"UPDATE users SET state = 'main_menu' WHERE id = {player_id}")
  338.                         vk.method("messages.send",
  339.                                   {"user_id": player_id, "message": message,
  340.                                    "random_id": random.randint(-2147483648, 2147483647),
  341.                                    "keyboard": keyboard})
  342.                         connection.commit()
  343.                     else:
  344.                         message = 'Команда не распознана'
  345.                         vk.method("messages.send",
  346.                                   {"user_id": player_id, "message": message,
  347.                                    "random_id": random.randint(-2147483648, 2147483647)})
  348.                         connection.commit()
  349.             elif poststate == 'bm':
  350.                 cursor.execute(f'Select * from users WHERE id = {player_id}')
  351.                 d = cursor.fetchone()
  352.                 if 'выпадет больше 7 (х2.20)' in request:
  353.                     if cube > 7:
  354.                         message = f"📋Выпало число 🎲 {cube} \n ✅👁‍🗨Ты выиграл: {round(d['stavka'] * 2.20,3)} \n 💰 Твой баланс: {round(balance -d['stavka'] +d['stavka'] * 2.20,3)}"
  355.                         keyboard = keyboard_vib
  356.                         cursor.execute(
  357.                             f"UPDATE users SET state = 'vib', poststate = NULL, coins = {balance - d['stavka'] + d['stavka'] * 2.20},stavka = 0 WHERE id = {player_id}")
  358.                         cursor.execute(
  359.                             f"UPDATE top_bm SET coin = coin+{d['stavka']} WHERE id = {player_id}")
  360.  
  361.                     else:
  362.                         message = f"❗Выпало число 🎲 {cube} \n🛑Ты  проиграл {d['stavka']}\n 💰Твой баланс: {balance - d['stavka']}"
  363.                         keyboard = keyboard_vib
  364.                         cursor.execute(
  365.                             f"UPDATE users SET state = 'vib', poststate = NULL, coins = {balance - d['stavka']},stavka = 0 WHERE id = {player_id}")
  366.  
  367.                 elif 'выпадет ровно 7 (х5.7)' in request:
  368.                     if cube == 7:
  369.                         message = f"❗Выпало число 🎲 {cube} \n ✅Ты выиграл: {round(d['stavka'] * 5.7,3)} \n 💰 Твой баланс: {round(balance -d['stavka'] +d['stavka'] * 5.7,3)}"
  370.                         keyboard = keyboard_vib
  371.                         cursor.execute(
  372.                             f"UPDATE users SET state = 'vib', poststate = NULL, coins = {balance - d['stavka'] +d['stavka'] * 5.7},stavka = 0 WHERE id = {player_id}")
  373.                         cursor.execute(
  374.                             f"UPDATE top_bm SET  coin = coin+{d['stavka'] * 5.7} WHERE id = {player_id}")
  375.  
  376.                     else:
  377.                         message = f"❗Выпало число 🎲 {cube} \n🛑Ты  проиграл {d['stavka']}\n 💰Твой баланс: {balance - d['stavka']}"
  378.                         keyboard = keyboard_vib
  379.                         cursor.execute(
  380.                             f"UPDATE users SET state = 'vib', poststate = NULL, coins = {balance - d['stavka']},stavka = 0 WHERE id = {player_id}")
  381.  
  382.                 elif "выпадет меньше 7 (х2.20)" in request:
  383.                     if cube < 7:
  384.                         message = f"❗Выпало число 🎲 {cube} \n ✅Ты выиграл: {round(d['stavka'] * 2.20,3)} \n 💰 Твой баланс: {round(balance - d['stavka'] + d['stavka'] * 2.20, 3)}"
  385.                         keyboard = keyboard_vib
  386.                         cursor.execute(
  387.                             f"UPDATE users SET state = 'vib', poststate = NULL, coins = {balance - d['stavka'] + d['stavka'] * 2.20},stavka = 0 WHERE id = {player_id}")
  388.                         cursor.execute(
  389.                             f"UPDATE top_bm SET  coin = coin+{d['stavka']} WHERE id = {player_id}")
  390.  
  391.                     else:
  392.                         message = f"❗Выпало число 🎲 {cube} \n🛑Ты  проиграл {d['stavka']}\n 💰Твой баланс: {balance - d['stavka']}"
  393.                         keyboard = keyboard_vib
  394.                         cursor.execute(
  395.                             f"UPDATE users SET state = 'vib', poststate = NULL, coins = {balance - d['stavka']},stavka = 0 WHERE id = {player_id}")
  396.  
  397.                 else:
  398.                     if 'назад' in request:
  399.                         message = 'Вы вернулись в меню'
  400.                         keyboard = keyboard_main_menu
  401.                         cursor.execute(f"UPDATE users SET state = 'main_menu' WHERE id = {player_id}")
  402.                     else:
  403.                         message = 'Вы вернулись в меню'
  404.                         keyboard = keyboard_main_menu
  405.                         cursor.execute(f"UPDATE users SET state = 'main_menu' WHERE id = {player_id}")
  406.  
  407.                 vk.method("messages.send",
  408.                           {"user_id": player_id, "message": message,
  409.                            "random_id": random.randint(-2147483648, 2147483647),
  410.                            "keyboard": keyboard})
  411.                 connection.commit()
  412.  
  413.  
  414. def yg(request, player_id,poststate):
  415.     with closing(pymysql.connect(host=db_host, user=db_username, password=db_password, db=db_name, charset="utf8mb4",
  416.                                  cursorclass=DictCursor)) as connection:
  417.         with connection.cursor() as cursor:
  418.             balance = get_balance(player_id)['coins']
  419.             if poststate == 'st':
  420.                 try:
  421.                     rat = float(request)
  422.                     if balance >= rat and rat != 0 and rat > 0.9:
  423.                         message = f'⌛Ставка принята⌛\n💸Твоя ставка: {rat}\n💼Твой баланс: {balance-rat}\n🎱Угадай число от 1 до 10 у тебя 5 попыток ⏩'
  424.                         keyboard = keyboard_yg
  425.                         hislo = random.randint(1,10)
  426.                         cursor.execute(f"UPDATE users SET state = 'yg', poststate = 'g', stavka = stavka + {rat}, рандчисл = {hislo} WHERE id = {player_id}")
  427.                         vk.method("messages.send",
  428.                                   {"user_id": player_id, "message": message,
  429.                                    "random_id": random.randint(-2147483648, 2147483647),
  430.                                    "keyboard": keyboard})
  431.                         connection.commit()
  432.  
  433.                     else:
  434.                         cursor.execute(f'Select * from users WHERE id = {player_id}')
  435.                         d = cursor.fetchone()
  436.                         if balance == 0:
  437.                             message = "💼На вашем балансе 0 конинов♻"
  438.                             cursor.execute(
  439.                                 f"UPDATE users SET state = 'yg' WHERE id = {player_id}")
  440.                         elif balance <= d['stavka']:
  441.                             message = "💼Ваш баланс меньше ставки📍"
  442.                             cursor.execute(
  443.                                 f"UPDATE users SET state = 'yg' WHERE id = {player_id}")
  444.                         elif d['stavka'] < 0.9:
  445.                             message = "⛔Минимальная ставка 1"
  446.                             cursor.execute(
  447.                                 f"UPDATE users SET state = 'yg' WHERE id = {player_id}")
  448.                         vk.method("messages.send",
  449.                                   {"user_id": player_id, "message": message,
  450.                                    "random_id": random.randint(-2147483648, 2147483647)})
  451.                         connection.commit()
  452.                 except ValueError:
  453.                     if "назад" in request:
  454.                         message = "🚪Вы вернулись в меню"
  455.                         keyboard = keyboard_main_menu
  456.                         cursor.execute(f"UPDATE users SET state = 'main_menu' WHERE id = {player_id}")
  457.                         vk.method("messages.send",
  458.                                   {"user_id": player_id, "message": message,
  459.                                    "random_id": random.randint(-2147483648, 2147483647),
  460.                                    "keyboard": keyboard})
  461.                         connection.commit()
  462.                     else:
  463.                         message = '⛔Вы отправили не число'
  464.                         vk.method("messages.send",
  465.                                   {"user_id": player_id, "message": message,
  466.                                    "random_id": random.randint(-2147483648, 2147483647)})
  467.                         connection.commit()
  468.             elif poststate == 'g':
  469.                 try:
  470.                     try:
  471.                         cursor.execute(f'Select * from users WHERE id = {player_id}')
  472.                         d = cursor.fetchone()
  473.                         his = int(request)
  474.                         if d['рандчисл'] == his:
  475.                             message = f"⚱Ты угадал я загадал ✨ {d['рандчисл']} \n 🎉Поздравляю ты выйграл: {d['stavka'] * 2} коинов \n 💼Твой баланс: {round(balance - d['stavka'] + d['stavka'] *2,3)}"
  476.                             keyboard = keyboard_main_menu
  477.                             cursor.execute(f"UPDATE users SET state = 'main_menu', уг = 1,coins = {round(balance - d['stavka'] + d['stavka'] *2,3)},stavka = 0 WHERE id = {player_id}")
  478.                         elif d['рандчисл'] != his and d['уг'] < 5 and his < 10:
  479.                             message = f'⛔Не угадал⛔\n♻Попробуй снова♻ \n📍Использовано(а) ' + str(d['уг']) + ' из 5 попыток'
  480.                             keyboard = keyboard_yg
  481.                             cursor.execute(f"UPDATE users SET state = 'yg',уг = уг + 1, poststate = 'g' WHERE id = {player_id}")
  482.                         elif d['уг'] == 5:
  483.                             message = f'🚫Ты проиграл\n💥Загаданое число было 🔮 {d["рандчисл"]}\n☘Повезёт в следующий раз...'
  484.                             keyboard = keyboard_main_menu
  485.                             cursor.execute(f"UPDATE users SET state = 'main_menu', уг = 1,coins = {round(balance - d['stavka'],3)},stavka = 0 WHERE id = {player_id}")
  486.                         elif his > 10:
  487.                             message = f'❗Твоё число больше предложенных\nВведи верное число'
  488.                             keyboard = keyboard_yg
  489.                             cursor.execute(
  490.                                 f"UPDATE users SET state = 'yg', poststate = 'g' WHERE id = {player_id}")
  491.                         vk.method("messages.send",
  492.                                   {"user_id": player_id, "message": message,
  493.                                    "random_id": random.randint(-2147483648, 2147483647),
  494.                                    "keyboard": keyboard})
  495.                         connection.commit()
  496.                     except ValueError:
  497.                         if 'назад' in str(request):
  498.                             message = '🚪Вы вернулись в меню'
  499.                             keyboard = keyboard_main_menu
  500.                             cursor.execute(f"UPDATE users SET state = 'main_menu', уг = 1 WHERE id = {player_id}")
  501.                             vk.method("messages.send",
  502.                                       {"user_id": player_id, "message": message,
  503.                                        "random_id": random.randint(-2147483648, 2147483647),
  504.                                        "keyboard": keyboard})
  505.                             connection.commit()
  506.                         else:
  507.                             message = '⛔Вы отправили не число'
  508.                             keyboard = keyboard_yg
  509.                             cursor.execute(f"UPDATE users SET state = 'yg', poststate = 'g' WHERE id = {player_id}")
  510.                             vk.method("messages.send",
  511.                                       {"user_id": player_id, "message": message,
  512.                                        "random_id": random.randint(-2147483648, 2147483647),
  513.                                        "keyboard": keyboard})
  514.                             connection.commit()
  515.                 except NameError:
  516.                     message = "⚙Неизвестная ошибка...\n🚪Вы вернулись в меню"
  517.                     keyboard = keyboard_main_menu
  518.                     cursor.execute(f"UPDATE users SET state = 'main_menu',уг = 1 WHERE id = {player_id}")
  519.                     vk.method("messages.send",
  520.                               {"user_id": player_id, "message": message,
  521.                                "random_id": random.randint(-2147483648, 2147483647),
  522.                                "keyboard": keyboard})
  523.                     connection.commit()
  524.             else:
  525.                 message = 'Команда не распознана'
  526.                 keyboard = keyboard_yg
  527.                 vk.method("messages.send",
  528.                           {"user_id": player_id, "message": message,
  529.                            "random_id": random.randint(-2147483648, 2147483647),
  530.                            "keyboard": keyboard})
  531.                 connection.commit()
  532.  
  533.  
  534.  
  535. keyboard_main_menu = {
  536.     "one_time": False,
  537.     "buttons": [
  538.         [{
  539.             "action": {
  540.                 "type": "text",
  541.                 "label": "💱Выбрать игру"
  542.             },
  543.             "color": "secondary"
  544.         }],
  545.         [{
  546.             "action": {
  547.                 "type": "text",
  548.                 "label": "📥Вывести"
  549.             },
  550.             "color": "secondary"
  551.         },
  552.             {
  553.                 "action": {
  554.                     "type": "open_link",
  555.                     'link': 'http://vk.com/coin#x395429675_10000000_1000_1',
  556.                     "label": "📤Пополнить"
  557.                 },
  558.             }],
  559.         [{
  560.             "action": {
  561.                 "type": "text",
  562.                 "label": "💼Балансаланс vkcoin"
  563.             },
  564.             "color": "secondary"
  565.         },
  566.         {
  567.             "action": {
  568.                 "type": "text",
  569.                 "label": "🆓Ежедневный бонус"
  570.             },
  571.             "color": "secondary"
  572.         }],
  573.         [{
  574.             "action": {
  575.                 "type": "text",
  576.                 "label": "📊Топ-игроков"
  577.             },
  578.             "color": "secondary"
  579.         }]
  580.     ]
  581. }
  582. keyboard_main_menu = json.dumps(keyboard_main_menu, ensure_ascii=False).encode("UTF-8")
  583. keyboard_main_menu = str(keyboard_main_menu.decode("UTF-8"))
  584.  
  585. keyboard_rate = {
  586.     "one_time": False,
  587.     "buttons": [
  588.         [{
  589.             "action": {
  590.                 "type": "text",
  591.                 "label": "🚪Назад"
  592.             },
  593.             "color": "secondary"
  594.         }]
  595.     ]
  596. }
  597. keyboard_rate = json.dumps(keyboard_rate, ensure_ascii=False).encode("UTF-8")
  598. keyboard_rate = str(keyboard_rate.decode("UTF-8"))
  599.  
  600. keyboard_rates = {
  601.     "one_time": False,
  602.     "buttons": [
  603.         [{
  604.             "action": {
  605.                 "type": "text",
  606.                 "label": "Выпадет больше 7 (х2.20)"
  607.             },
  608.             "color": "primary"
  609.         }],
  610.         [{
  611.             "action": {
  612.                 "type": "text",
  613.                 "label": "Выпадет ровно 7 (х5.7)"
  614.             },
  615.             "color": "primary"
  616.         }],
  617.         [{
  618.             "action": {
  619.                 "type": "text",
  620.                 "label": "Выпадет меньше 7 (х2.20)"
  621.             },
  622.             "color": "primary"
  623.         }]
  624.     ]
  625. }
  626. keyboard_rates = json.dumps(keyboard_rates, ensure_ascii=False).encode("UTF-8")
  627. keyboard_rates = str(keyboard_rates.decode("UTF-8"))
  628.  
  629. keyboard_vib = {
  630.     "one_time": False,
  631.     "buttons": [
  632.         [{
  633.             "action": {
  634.                 "type": "text",
  635.                 "label": "📈БМ7📉"
  636.             },
  637.             "color": "secondary"
  638.         },
  639.         {
  640.             "action": {
  641.                 "type": "text",
  642.                 "label": "🔖Угадай число"
  643.             },
  644.             "color": "secondary"
  645.         }],
  646.         [{
  647.             "action": {
  648.                 "type": "text",
  649.                 "label": "👥Онлайн игры"
  650.             },
  651.             "color": "secondary"
  652.         }],
  653.         [{
  654.             "action": {
  655.                 "type": "text",
  656.                 "label": "Назад"
  657.             },
  658.             "color": "secondary"
  659.         }]
  660.     ]
  661. }
  662. keyboard_vib = json.dumps(keyboard_vib, ensure_ascii=False).encode("UTF-8")
  663. keyboard_vib = str(keyboard_vib.decode("UTF-8"))
  664.  
  665. keyboard_yg = {
  666.     "one_time": False,
  667.     "buttons": [
  668.         [{
  669.             "action": {
  670.                 "type": "text",
  671.                 "label": "1"
  672.             },
  673.             "color": "secondary"
  674.         },
  675.         {
  676.             "action": {
  677.                 "type": "text",
  678.                 "label": "2"
  679.             },
  680.             "color": "secondary"
  681.         },
  682.         {
  683.             "action": {
  684.                 "type": "text",
  685.                 "label": "3"
  686.             },
  687.             "color": "secondary"
  688.         },
  689.         {
  690.             "action": {
  691.                 "type": "text",
  692.                 "label": "4"
  693.             },
  694.             "color": "secondary"
  695.         },
  696.         {
  697.             "action": {
  698.                 "type": "text",
  699.                 "label": "5"
  700.             },
  701.             "color": "secondary"
  702.         }],
  703.         [{
  704.             "action": {
  705.                 "type": "text",
  706.                 "label": "6"
  707.             },
  708.             "color": "secondary"
  709.         },
  710.         {
  711.             "action": {
  712.                 "type": "text",
  713.                 "label": "7"
  714.             },
  715.             "color": "secondary"
  716.         },
  717.         {
  718.             "action": {
  719.                 "type": "text",
  720.                 "label": "8"
  721.             },
  722.             "color": "secondary"
  723.         },
  724.         {
  725.             "action": {
  726.                 "type": "text",
  727.                 "label": "9"
  728.             },
  729.             "color": "secondary"
  730.         },
  731.         {
  732.             "action": {
  733.                 "type": "text",
  734.                 "label": "10"
  735.             },
  736.             "color": "secondary"
  737.         }]
  738.     ]
  739. }
  740. keyboard_yg = json.dumps(keyboard_yg, ensure_ascii=False).encode("UTF-8")
  741. keyboard_yg = str(keyboard_yg.decode("UTF-8"))
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement