Advertisement
Guest User

Untitled

a guest
Mar 20th, 2019
566
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. #coding: utf8
  2. import sqlite3
  3.  
  4. import telebot
  5. from telebot import types
  6. from time import sleep
  7. import config
  8. import logging
  9. import datetime
  10. bot = telebot.TeleBot(token = config.token,  skip_pending=False, threaded=False, num_threads=100)
  11. markup = types.ReplyKeyboardMarkup()
  12. itembtna = types.KeyboardButton('/send_db')
  13. itembtnb = types.KeyboardButton('/stats')
  14. itembtnc = types.KeyboardButton('/help')
  15. itembtnd = types.KeyboardButton('/start')
  16. markup.row(itembtna, itembtnb)
  17. markup.row(itembtnc, itembtnd)
  18. bot.send_message(468437664, "Бот был запущен! Используй одну из команд ниже", reply_markup=markup)
  19. conn = sqlite3.connect("mydatabase.db")
  20. cursor = conn.cursor()
  21. @bot.message_handler(commands=['dis'])
  22. def dis(message):
  23.     if message.chat.id == 468437664:
  24.         try:
  25.             with conn:
  26.                 cursor.execute("SELECT * FROM distr")
  27.                 rows = cursor.fetchall()
  28.                 arr=[i[0] for i in rows]
  29.                 bot.send_message(468437664, 'Рассылка была запущена!' + 'Сообщение получат: <b>{}</b>'.format(len(rows)), parse_mode='html')
  30.                 for i in arr:
  31.                     bot.send_message(i, 'Тестовая рассылка. Спасибо')
  32.         except Exception as e:
  33.             bot.send_message(config.owner, e)
  34.     else:
  35.         bot.send_message(message.chat.id, 'У вас нет доступа к этой команде :(')
  36.  
  37. #cursor.execute('SELECT * FROM distr')
  38. #num_users = cursor.fetchall()
  39. #print (len(num_users))
  40. #num_messages = cuа(commands=['send_db'])
  41. @bot.message_handler(commands=['send_db'])
  42. def start(message):
  43.     try:
  44.         if message.chat.id == 468437664:
  45.             data = open('mydatabase.db', 'rb')
  46.             bot.send_document(468437664, data)
  47.         else:
  48.             bot.send_message(message.chat.id, 'Эта команда была создана не для вас! ;)')
  49.     except Exception as e:
  50.         bot.send_message(config.error_log, e)
  51.  
  52. @bot.message_handler(commands=['stats'])
  53. def stats(message):
  54.     try:
  55.         if message.chat.id == int(468437664):
  56.             cursor.execute('SELECT * FROM distr')
  57.             num_users = cursor.fetchall()
  58.             bot.send_message(468437664, '<code>Статистика:</code>\nЗарегистрировано пользователей в базе: <b>{}</b>'.format(len(num_users)), parse_mode='HTML' )#+ '\nСообщений в базе: <b>{}</b>'.format(num_messages))
  59.         else:
  60.             bot.send_message(message.chat.id, 'Похоже, вы не имеете доступа к этой команде :(')
  61.     except Exception as e:
  62.         bo.send_message(config.error_log, e)
  63.  
  64. @bot.message_handler(commands=['start'])
  65. def start(message):
  66.         if int(message.chat.id) == config.owner:
  67.             try:
  68.                 markup = types.ReplyKeyboardMarkup()
  69.                 itembtnv = types.KeyboardButton('/send_db')
  70.                 itembtnc = types.KeyboardButton('/help')
  71.                 itembtnd = types.KeyboardButton('/ping')
  72.                 itembtnb = types.KeyboardButton('/stats')
  73.                 markup.row(itembtnv, itembtnb)
  74.                 markup.row(itembtnc, itembtnd)
  75.                 bot.send_message(config.owner, 'Привет, хозяин :)', reply_markup=markup)
  76.             except Exception as e:
  77.                 bot.send_message(config.error_log, e)
  78.         else:
  79.             try:
  80.                 cursor = conn.cursor()
  81.                 message_id = int(message.chat.id)
  82.                 status = cursor.execute("SELECT user_id FROM distr WHERE user_id == (?)", (message_id,))
  83.                 if message_id == status:
  84.                     bot.send_message(message.chat.id, 'Упс, кажется вы уже регистрировались. Просто напишите что-нибудь')
  85.                 else:
  86.                     bot.send_message(message.chat.id,  'Привет, ' + str(message.from_user.first_name) +'!\n' 'Данный бот создан для общения с @AmirAdminTG\n\nДоступные команды:\n/id — посмотреть cвой ID\n/ping — узнать, жив ли бот')
  87.                     cursor.execute("INSERT INTO distr (user_id) VALUES (?)", (message_id,))
  88.                     conn.commit()
  89.             except Exception as e:
  90.                 bot.send_message(config.error_log, e)
  91.  
  92. @bot.message_handler(commands=["ping"])
  93. def ping(message):
  94.     if message.chat.id == 484846555:
  95.         pass
  96.     else:
  97.         bot.send_message(message.chat.id, "<b>PONG!</b>" , parse_mode="HTML")
  98.  
  99. @bot.message_handler(commands=['id'])
  100. def process_start(message):
  101.     if int(message.chat.id) == 484846555:
  102.         pass
  103.     else:
  104.         bot.send_message(message.chat.id, "Твой ID: " + str(message.from_user.id), parse_mode = 'HTML')
  105.         bot.forward_message(config.owner, message.chat.id, message.message_id)
  106.  
  107. @bot.message_handler(content_types=["text"])
  108. def messages(message):
  109.     cursor = conn.cursor()
  110.     message_id = message.chat.id
  111.     name = message.chat.first_name
  112.     username = message.chat.username
  113.     message_text = message.text
  114.     message_date = message.date
  115.     cursor.execute("INSERT INTO bot VALUES (?,?,?,?,?)", (message_id, name, username, message_text, message_date))
  116.     conn.commit()  
  117.     if int(message.chat.id) == config.group or int(message.chat.id) == 468437664:
  118.         try:
  119.             bot.send_message(message.reply_to_message.forward_from.id, message.text)
  120.         except Exception as e:
  121.             bot.send_message(config.error_log, e)
  122.     else:
  123.         try:
  124.             bot.forward_message(config.group, message.chat.id, message.message_id)
  125.             bot.send_message(message.chat.id, str(message.from_user.first_name) + ', я получил сообщение и очень скоро отвечу на него ;)')
  126.         except Exception as e:
  127.             bot.send_message(468437664, e)
  128.             bot.send_message(error_log, e)
  129.  
  130. if __name__ == '__main__':
  131.         bot.polling(none_stop = True, timeout = 600)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement