memchik

Bot_1

Jan 28th, 2019
123
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. import telebot
  2. import sqlite3
  3. from telebot.types import Message
  4. from telebot import types
  5. import requests
  6. import vk
  7.  
  8. token = '675993749:AAGyHVZYo23ZKx0Y2p4ojCj40fK9gIRTrEQ'
  9.  
  10. bot = telebot.TeleBot(token)
  11.  
  12.  
  13. #Start
  14. @bot.message_handler(commands=["start"])
  15. def start(message):
  16.     bot.send_message(message.chat.id,"Привет, "+str(message.from_user.username)+"!\n")
  17.     keyboard = types.InlineKeyboardMarkup()
  18.     yes_btn = types.InlineKeyboardButton(text="Да", callback_data="YES")
  19.     no_btn = types.InlineKeyboardButton(text="Нет", callback_data="NO")
  20.     keyboard.add(yes_btn, no_btn)
  21.     bot.send_message(message.chat.id,'Наш бот умеет накручивать лайки ВКонтакте.\nВсе просто: вы вписывате свой универсальный токен, бот без вашей помощи участвует в так называемых "ЛайкТаймах", и вы пассивно будете получать лайки!\nВызовите команду /vk и следуйте инструкциям.')
  22. #Help,info
  23. @bot.message_handler(commands = ['help'])
  24. def help(message):
  25.     bot.send_message(message.chat.id,'Вот все команды что есть')
  26. #Connect
  27. @bot.message_handler(commands = ['vk'])
  28. def vk_info(message):
  29.   conn = sqlite3.connect("base.sqlite")
  30.   cursor = conn.cursor()
  31.   cursor.execute(f"SELECT * FROM base WHERE user_id ={message.chat.id}")
  32.   len_data=len(cursor.fetchall())
  33.   cursor.close()
  34.   conn.close()
  35.   if len_data==1:
  36.     bot.send_message(message.chat.id,"Ты уже подключен")
  37.   else:
  38.     keyboard = types.InlineKeyboardMarkup()
  39.     yes_btn = types.InlineKeyboardButton(text="Да", callback_data="YES")
  40.     no_btn = types.InlineKeyboardButton(text="Нет", callback_data="NO")
  41.     keyboard.add(yes_btn, no_btn)
  42.     bot.send_message(message.chat.id,'Вы хотите подключить накрутку лайков?' , reply_markup = keyboard)
  43. #Disconnect
  44. @bot.message_handler(commands = ["vk_off"])
  45. def vk_off(message):
  46.   conn = sqlite3.connect("base.sqlite")
  47.   cursor = conn.cursor()
  48.   cursor.execute("SELECT * FROM base WHERE user_id = ?", (message.chat.id,))
  49.   len_data=len(cursor.fetchall())
  50.   cursor.close()
  51.   conn.close()
  52.   if len_data==0:
  53.     bot.send_message(message.chat.id, 'Вы не подключены, чтобы я вас отключал!\nВы можете подключиться с помощью команды /vk')
  54.   else:
  55.     keyboard_1 = types.InlineKeyboardMarkup()
  56.     vk_off_yes = types.InlineKeyboardButton(text="Да", callback_data="yes")
  57.     vk_off_no = types.InlineKeyboardButton(text="Нет", callback_data="no")
  58.     keyboard_1.add(vk_off_yes, vk_off_no)
  59.     bot.send_message(message.chat.id,"Хотите чтобы я вас отключил?" , reply_markup = keyboard_1)
  60. #Markups
  61. @bot.callback_query_handler(func=lambda call: True)
  62. def yes_no(call):
  63.   if call.data=="YES":
  64.     link_btn = types.InlineKeyboardButton(text = 'Ссылка' , url='https://oauth.vk.com/authorize?client_id=6807462&scope=1073741823&redirect_uri=https://api.vk.com/blank.html&display=page&response_type=token&revoke=1')
  65.     keyboard_link = types.InlineKeyboardMarkup()
  66.     keyboard_link.add(link_btn)
  67.     token_question = bot.send_message(call.message.chat.id,'Хорошо,вот вам ссылка.\nПерейдите по ней, нажмите "Разрешить", затем скопируйте ссылку и отправте нам',reply_markup = keyboard_link)
  68.     bot.register_next_step_handler(token_question, connect_token)
  69.     bot.edit_message_text(chat_id=call.message.chat.id, message_id=call.message.message_id, text = 'Вы хотите подключить накрутку лайков?')
  70.   elif call.data=="NO":
  71.     bot.edit_message_text(chat_id=call.message.chat.id, message_id=call.message.message_id, text = 'Вы хотите подключить накрутку лайков?')
  72.     bot.send_message(call.message.chat.id,'Хорошо, мы подождем когда вы будете согласны 😌')
  73.   elif call.data=="yes":
  74.     conn = sqlite3.connect("base.sqlite")
  75.     cursor = conn.cursor()
  76.     cursor.execute("SELECT * FROM base WHERE user_id = ?", (call.message.chat.id,))
  77.     len_data=len(cursor.fetchall())
  78.     cursor.close()
  79.     conn.close()
  80.     if len_data==0:
  81.       bot.edit_message_text(chat_id=call.message.chat.id, message_id=call.message.message_id, text = "Ты не подключен.")
  82.     else:
  83.       bot.edit_message_text(chat_id=call.message.chat.id, message_id=call.message.message_id, text = 'Хотите чтобы я вас отключил?')
  84.       bot.send_message(call.message.chat.id, 'Хорошо, я вас отключил')
  85.       conn = sqlite3.connect('base.sqlite')
  86.       cursor = conn.cursor()
  87.       cursor.execute(f"DELETE FROM base WHERE user_id ={call.message.chat.id}")
  88.       conn.commit()
  89.       cursor.close()
  90.       conn.close()
  91.   elif call.data=="no":
  92.     bot.edit_message_text(chat_id=call.message.chat.id, message_id=call.message.message_id, text = 'Спасибо, что остаетесь с нами')
  93. #Valid token,end
  94. def connect_token(message):
  95.   if message.content_type=="text":
  96.     token_user_0 = message.text.find('=')
  97.     token_user_1 = message.text.find('&')
  98.     token_user = message.text[token_user_0+1:token_user_1]
  99.     session = vk.Session(access_token='0f4d3592d4428146fd409c2f3160e121c9ac9433840ce38f5e3d66a63b31ab29abf0a201003989d3d4e09')
  100.     vk_api = vk.API(session, v='6')
  101.     rq=vk_api.users.get()
  102.     if rq[0]['id']!=None:
  103.       bot.send_message(message.chat.id, "Мои поздравления, все получилось!\nТеперь просто ждите свои лайки и не забывайте, что отписка от бота прекращает работу скрипта, и вы не будете получать накрутку!\nТакже вы можете отписаться самостоятельно, просто вписав /vk_off")
  104.       conn = sqlite3.connect("base.sqlite")
  105.       cursor = conn.cursor()
  106.       cursor.execute("INSERT INTO base VALUES (?,?)" , [message.from_user.id , token_user])
  107.       conn.commit()
  108.       cursor.close()
  109.       conn.close()
  110.     else:
  111.       bot.send_message(message.chat.id , "Вы неправильно указали токен,попробуйте снова!\nВызовите команду /vk заново!")
  112.   else:
  113.     bot.send_message(message.chat.id , "Это не токен, вызовите команду /vk заново!")
  114.  
  115. bot.polling()
RAW Paste Data