Advertisement
Guest User

Untitled

a guest
Mar 23rd, 2019
88
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 20.04 KB | None | 0 0
  1. from vk_api import VkApi
  2. from vk_api.utils import get_random_id
  3. from vk_api.keyboard import VkKeyboard, VkKeyboardColor
  4. from vk_api.bot_longpoll import VkBotEventType, VkBotLongPoll
  5.  
  6. session = VkApi(token="")
  7.  
  8. bot_longpoll = VkBotLongPoll(session, )
  9. vk = session.get_api()
  10. default_keyboard = VkKeyboard()
  11. default_keyboard.add_button("/дизайн", VkKeyboardColor.NEGATIVE)
  12. default_keyboard.add_button("/заменки", VkKeyboardColor.NEGATIVE)
  13. default_keyboard.add_line()
  14. default_keyboard.add_button("/спонсор", VkKeyboardColor.PRIMARY)
  15. default_keyboard.add_button("/реклама", VkKeyboardColor.PRIMARY)
  16. default_keyboard.add_line()
  17. default_keyboard.add_button("Викторина")
  18. default_keyboard.add_button("Скрыть клавиатуру", VkKeyboardColor.DEFAULT)
  19.  
  20. дизайн_keyboard = VkKeyboard()
  21. дизайн_keyboard.add_button("/оформление", VkKeyboardColor.NEGATIVE)
  22. дизайн_keyboard.add_line()
  23. дизайн_keyboard.add_button("Главное меню", VkKeyboardColor.DEFAULT)
  24.  
  25. оформление_keyboard = VkKeyboard()
  26. оформление_keyboard.add_button("/vk", VkKeyboardColor.PRIMARY)
  27. оформление_keyboard.add_button("/forum", VkKeyboardColor.PRIMARY)
  28. оформление_keyboard.add_line()
  29. оформление_keyboard.add_button("/youtube", VkKeyboardColor.PRIMARY)
  30. оформление_keyboard.add_button("/art", VkKeyboardColor.PRIMARY)
  31. оформление_keyboard.add_line()
  32. оформление_keyboard.add_button("/logo", VkKeyboardColor.PRIMARY)
  33. оформление_keyboard.add_line()
  34. оформление_keyboard.add_button("Главное меню", VkKeyboardColor.DEFAULT)
  35.  
  36.  
  37. заменки_keyboard = VkKeyboard()
  38. заменки_keyboard.add_button("/subsit", VkKeyboardColor.NEGATIVE)
  39. заменки_keyboard.add_line()
  40. заменки_keyboard.add_button("Главное меню", VkKeyboardColor.DEFAULT)
  41.  
  42. subsit_keyboard = VkKeyboard()
  43. subsit_keyboard.add_button("/car", VkKeyboardColor.POSITIVE)
  44. subsit_keyboard.add_button("/gun", VkKeyboardColor.POSITIVE)
  45. subsit_keyboard.add_line()
  46. subsit_keyboard.add_button("/other", VkKeyboardColor.POSITIVE)
  47. subsit_keyboard.add_line()
  48. subsit_keyboard.add_button("Главное меню", VkKeyboardColor.DEFAULT)
  49.  
  50. дизайн_keyboard = VkKeyboard()
  51. дизайн_keyboard.add_button("/оформление", VkKeyboardColor.NEGATIVE)
  52. дизайн_keyboard.add_line()
  53. дизайн_keyboard.add_button("Главное меню", VkKeyboardColor.DEFAULT)
  54.  
  55. answers_kb = VkKeyboard()
  56. answers_kb.add_button("1", color=VkKeyboardColor.POSITIVE)
  57. answers_kb.add_button("2", color=VkKeyboardColor.PRIMARY)
  58. answers_kb.add_button("3", color=VkKeyboardColor.NEGATIVE)
  59. scenes = {}
  60. вопросы_викторины = {
  61.     1: """вопрос 1.
  62.    1)...
  63.    2)...
  64.    3)...""",
  65.     2: """вопрос 2.
  66.    1)..
  67.    2)...
  68.    3)...""",
  69.     3: """вопрос 3.
  70.    1)..
  71.    2)...
  72.    3)...""",
  73.     4: """вопрос 4.
  74.    1)..
  75.    2)...
  76.    3)...""",
  77.     5: """вопрос 5.
  78.    1)..
  79.    2)...
  80.    3)..."""
  81. }
  82.  
  83. ответы_викторины = {
  84.     1: "1",
  85.     2: "1",
  86.     3: "1",
  87.     4: "1",
  88.     5: "1"
  89. }
  90.  
  91. for event in bot_longpoll.listen():
  92.     if event.type == VkBotEventType.MESSAGE_NEW:
  93.         body = str(event.object.text)
  94.         peer_id = event.object.peer_id
  95.         if peer_id in scenes:
  96.             if ответы_викторины[scenes[peer_id]["victorina_num"]] == body:
  97.                 scenes[peer_id]["score"] += 1  # За правильный ответ
  98.             if scenes[peer_id]["victorina_num"] < len(ответы_викторины):  # Проверка конца вопросов
  99.                 scenes[peer_id]["victorina_num"] += 1
  100.                 vk.messages.send(peer_id=peer_id, message=вопросы_викторины[scenes[peer_id]["victorina_num"]], random_id=get_random_id(), keyboard=answers_kb.get_keyboard())
  101.             else:  # Викторина закончилась, выход из него и вывод итога
  102.                 vk.messages.send(peer_id=peer_id, message="Викторина закончена. Вы набрали {} очков".format(str(scenes[peer_id]["score"])), keyboard=default_keyboard.get_keyboard(), random_id=get_random_id())
  103.                 if scenes[peer_id]["score"] == 5:
  104.                     vk.messages.send(peer_id=413405639, message="@id{} (Пользователь) набрал все 5 очков на викторине".format(str(peer_id)), random_id=get_random_id())
  105.                 del scenes[peer_id]
  106.         else:
  107.             if body.lower() == "привет":
  108.                 vk.messages.send(peer_id=peer_id, message="Привет, дорогой друг! Все команды доступны в /help' ", random_id=get_random_id())
  109.             elif body.lower() == "викторина":
  110.                 scenes[peer_id] = {
  111.                     "victorina_num": 1,
  112.                     "score": 0
  113.                 }
  114.                 vk.messages.send(peer_id=peer_id, message="Вы вошли в викторину", random_id=get_random_id())
  115.                 vk.messages.send(peer_id=peer_id, message=вопросы_викторины[1], random_id=get_random_id(), keyboard=answers_kb.get_keyboard())
  116.             elif body.lower() == "/help":
  117.                 vk.messages.send(peer_id=peer_id, message="Список доступных команд:\n"
  118.                                  "/дизайн - информация о дизайне\n/заменки - информация о заменки\n/спонсор - если хочешь быть спонсором\n/реклама - информация о рекламе\n/клавиатура - показать клавиатуру", random_id=get_random_id(), keyboard=default_keyboard.get_keyboard())
  119.             elif body.lower() == "/дизайн":
  120.                 vk.messages.send(peer_id=peer_id, message="Мы занимаемся созданием оформлений соц-сетей и не только, а также созданием дизайна сайтов, артов, флат-логотипов и многого другого!\n\n📌Оформление для VK (аватарка и обложка): 100 рублей."
  121.                                  "\n\n📌Форумные подписи: 50 рублей\n\n📌Оформление для Youtube канала: 110 рублей."
  122.                                  "\n\n📌Арт: 30 рублей.\n\n📌Флат-логотип: 80 рублей."
  123.                                  "\n\n🔥Хочешь оформить заказ? Пропиши: /оформление", random_id=get_random_id(), keyboard=дизайн_keyboard.get_keyboard())
  124.             elif body.lower() == "/оформление":
  125.                 vk.messages.send(peer_id=peer_id, message="📌/vk - оформление для VK\n"
  126.                                  "📌/forum - оформление для форума\n"
  127.                                  "📌/youtube - оформление для YouTube\n"
  128.                                  "📌/art - оформление для заказа артов\n"
  129.                                  "📌/logo - оформление для логотипов", random_id=get_random_id(), keyboard=оформление_keyboard.get_keyboard())
  130.             elif body.lower() == "/vk":
  131.                 vk.messages.send(peer_id=peer_id, message="✔Оформление для VK (аватарка и обложка)\n\n"
  132.                                  "Заполните пожалуйста заявление по формой:\n"
  133.                                  "● В какой цветовой гамме Вы желаете заказать работу?: \n"
  134.                                  "● Что именно Вы хотите заказать? (Дизайн сообщества, канала; разработка визиток и т.п):\n"
  135.                                  "● Тема желаемой работы? (Например: оформление интернет-магазина или эксклюзивный стиль для музыканта):\n"
  136.                                  "● Желаемый текст: \n\n"
  137.                                  "⏩После отправление наш дизайнер сразу начнёт свою работу. Ваш заказ будет готов в течение 5 часов.", random_id=get_random_id())
  138.             elif body.lower() == "/forum":
  139.                 vk.messages.send(peer_id=peer_id, message="✔Оформление для форума\n\n"
  140.                                  "Заполните пожалуйста заявление по формой:\n"
  141.                                  "● В какой цветовой гамме Вы желаете заказать работу?: \n"
  142.                                  "● Что именно Вы хотите заказать? (Дизайн сообщества, канала; разработка визиток и т.п):\n"
  143.                                  "● Тема желаемой работы? (Например: оформление интернет-магазина или эксклюзивный стиль для музыканта):\n"
  144.                                  "● Желаемый текст: \n\n"
  145.                                  "⏩После отправление наш дизайнер сразу начнёт свою работу. Ваш заказ будет готов в течение 5 часов.", random_id=get_random_id())
  146.             elif body.lower() == "/youtube":
  147.                 vk.messages.send(peer_id=peer_id, message="✔Оформление для YouTube\n\n"
  148.                                  "Заполните пожалуйста заявление по формой:\n"
  149.                                  "● В какой цветовой гамме Вы желаете заказать работу?: \n"
  150.                                  "● Что именно Вы хотите заказать? (Дизайн сообщества, канала; разработка визиток и т.п):\n"
  151.                                  "● Тема желаемой работы? (Например: оформление интернет-магазина или эксклюзивный стиль для музыканта):\n"
  152.                                  "● Желаемый текст: \n\n"
  153.                                  "⏩После отправление наш дизайнер сразу начнёт свою работу. Ваш заказ будет готов в течение 5 часов.", random_id=get_random_id())
  154.             elif body.lower() == "/art":
  155.                 vk.messages.send(peer_id=peer_id, message="✔Оформление для артов\n\n"
  156.  
  157.                                  "Заполните пожалуйста заявление по формой:\n"
  158.                                  "● В какой цветовой гамме Вы желаете заказать работу?: \n"
  159.                                  "● Отправьте картинку:\n\n"
  160.                                  "⏩После отправление наш дизайнер сразу начнёт свою работу. Ваш заказ будет готов в течение 5 часов.", random_id=get_random_id())
  161.             elif body.lower() == "/art":
  162.                 vk.messages.send(peer_id=peer_id, message="✔Оформление для артов\n\n"
  163.                                  "Заполните пожалуйста заявление по формой:\n"
  164.                                  "● В какой цветовой гамме Вы желаете заказать работу?: \n"
  165.                                  "● Отправьте картинку:\n\n"
  166.                                  "⏩После отправление наш дизайнер сразу начнёт свою работу. Ваш заказ будет готов в течение 5 часов.", random_id=get_random_id())
  167.             elif body.lower() == "/logo":
  168.                 vk.messages.send(peer_id=peer_id, message="✔Оформление для логотипов\n\n"
  169.  
  170.                                  "Заполните пожалуйста заявление по формой:\n"
  171.                                  "● В какой цветовой гамме Вы желаете заказать работу?: \n"
  172.                                  "● Что именно Вы хотите заказать? (Дизайн сообщества, канала; разработка визиток и т.п):\n"
  173.                                  "● Тема желаемой работы? (Например: оформление интернет-магазина или эксклюзивный стиль для музыканта):\n"
  174.                                  "● Желаемый текст: \n\n"
  175.                                  "⏩После отправление наш дизайнер сразу начнёт свою работу. Ваш заказ будет готов в течение 5 часов.", random_id=get_random_id())
  176.             elif body.lower() == "/заменки":
  177.                 vk.messages.send(peer_id=peer_id, message="Наша команда готова сделать крутые заменки на заказ.\n\n"
  178.                                  "📌Заменки на машины: 10 рублей.\n"
  179.                                  "📌Заменки на оружие: 10 рублей.\n"
  180.                                  "📌Заменки на остальных: 25 рублей.\n\n"
  181.                                  "🔥Хочешь оформить заказ? Пропиши: /subsit", random_id=get_random_id(), keyboard=заменки_keyboard.get_keyboard())
  182.             elif body.lower() == "/subsit":
  183.                 vk.messages.send(peer_id=peer_id, message="📌/car - заменки на машины\n"
  184.                                  "📌/gun - заменки на оружие\n"
  185.                                  "📌/other - заменки на остальных\n", random_id=get_random_id(), keyboard=subsit_keyboard.get_keyboard())
  186.             elif body.lower() == "/car":
  187.                 vk.messages.send(peer_id=peer_id, message="✔Заменки на машины\n\n"
  188.                                  "Заполните пожалуйста заявление по формой:\n"
  189.                                  "● В какой цветовой гамме Вы желаете заказать работу?: \n"
  190.                                  "● На какую машину?:\n"
  191.                                  "● Желаемый текст (если понадобится): \n"
  192.                                  "● Тема желаемой работы?: \n\n"
  193.                                  "⏩После отправление наш работник сразу начнёт свою работу. Ваш заказ будет готов в течение 5 часов.",
  194.                                  random_id=get_random_id())
  195.             elif body.lower() == "/gun":
  196.                 vk.messages.send(peer_id=peer_id, message="✔Заменки на оружие\n\n"
  197.                                  "Заполните пожалуйста заявление по формой:\n"
  198.                                  "● В какой цветовой гамме Вы желаете заказать работу?: \n"
  199.                                  "● На какую оружию?:\n"
  200.                                  "● Желаемый текст (если понадобится): \n"
  201.                                  "● Тема желаемой работы?: \n\n"
  202.                                  "⏩После отправление наш работник сразу начнёт свою работу. Ваш заказ будет готов в течение 5 часов.",
  203.                                  random_id=get_random_id())
  204.             elif body.lower() == "/other":
  205.                 vk.messages.send(peer_id=peer_id, message="✔Заменки на остальных\n\n"
  206.                                  "Заполните пожалуйста заявление по формой:\n"
  207.                                  "● В какой цветовой гамме Вы желаете заказать работу?: \n"
  208.                                  "● На что заменки?:\n"
  209.                                  "● Желаемый текст (если понадобится): \n"
  210.                                  "● Тема желаемой работы?: \n\n"
  211.                                  "⏩После отправление наш работник сразу начнёт свою работу. Ваш заказ будет готов в течение 5 часов.",
  212.                                  random_id=get_random_id())
  213.             elif body.lower() == "/спонсор":
  214.                 vk.messages.send(peer_id=peer_id, message="✔Уважаемый, спасибо Вам, что решили быть спонсором.\n"
  215.                                  "Пожалуйста, оставьте заявление по форме:\n"
  216.                                  "● Ваш игровой никнейм (если есть):\n"
  217.                                  "● На что хотите спонсировать? (Например: Фаст розыгрыш, викторина, конкурсы и т.п.):\n"
  218.                                  "● Как Вы хотите спонсировать? (Игровые валюта, имущества, реальные деньги):\n"
  219.                                  "⏩После отправление с Вами свяжутся администраторы группы.\n",
  220.                                  random_id=get_random_id())
  221.             elif body.lower() == "/реклама":
  222.                 vk.messages.send(peer_id=peer_id, message="Мы рады, что Вы хотите заказать качественную рекламу у нас!\n\n"
  223.                                  "У нас несколько видов рекламы:\n"
  224.                                  "✔ Обычный пост: 50 рублей.\n"
  225.                                  "✔ Репост с группы VK: 65 рублей.\n"
  226.                                  "✔ Условия подписаться на группу в конкурсе: 100 рублей.\n"
  227.                                  "✔ Условия подписаться на группу в конкурсе с рассылкой: 120 рублей.\n"
  228.                                  "⏩Просьба отписать ему - vk.com/ernestomalevich", random_id=get_random_id())
  229.             elif body.lower() == "главное меню":
  230.                 vk.messages.send(peer_id=peer_id, message="Список доступных команд:\n"
  231.                                  "/дизайн - информация о дизайне\n/заменки - информация о заменки\n/спонсор - если хочешь быть спонсором\n/реклама - информация о рекламе\n/клавиатура - показать клавиатуру",
  232.                                  random_id=get_random_id(), keyboard=default_keyboard.get_keyboard())
  233.  
  234.             elif body.lower() == "/клавиатура":
  235.                 vk.messages.send(peer_id=peer_id, message="Клавиатура показана.",
  236.                                  random_id=get_random_id(), keyboard=default_keyboard.get_keyboard())
  237.             elif body.lower() == "скрыть клавиатуру":
  238.                 vk.messages.send(peer_id=peer_id, message="Клавиатура скрыта.",
  239.                                  random_id=get_random_id(), keyboard=default_keyboard.get_empty_keyboard())
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement