Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #coding: utf8
- import sqlite3
- import telebot
- from telebot import types
- from time import sleep
- import config
- import logging
- import datetime
- bot = telebot.TeleBot(token = config.token, skip_pending=False, threaded=False, num_threads=100)
- markup = types.ReplyKeyboardMarkup()
- itembtna = types.KeyboardButton('/send_db')
- itembtnb = types.KeyboardButton('/stats')
- itembtnc = types.KeyboardButton('/help')
- itembtnd = types.KeyboardButton('/start')
- markup.row(itembtna, itembtnb)
- markup.row(itembtnc, itembtnd)
- bot.send_message(468437664, "Бот был запущен! Используй одну из команд ниже", reply_markup=markup)
- conn = sqlite3.connect("mydatabase.db")
- cursor = conn.cursor()
- @bot.message_handler(commands=['dis'])
- def dis(message):
- if message.chat.id == 468437664:
- try:
- with conn:
- cursor.execute("SELECT * FROM distr")
- rows = cursor.fetchall()
- arr=[i[0] for i in rows]
- bot.send_message(468437664, 'Рассылка была запущена!' + 'Сообщение получат: <b>{}</b>'.format(len(rows)), parse_mode='html')
- for i in arr:
- bot.send_message(i, 'Тестовая рассылка. Спасибо')
- except Exception as e:
- bot.send_message(config.owner, e)
- else:
- bot.send_message(message.chat.id, 'У вас нет доступа к этой команде :(')
- #cursor.execute('SELECT * FROM distr')
- #num_users = cursor.fetchall()
- #print (len(num_users))
- #num_messages = cuа(commands=['send_db'])
- @bot.message_handler(commands=['send_db'])
- def start(message):
- try:
- if message.chat.id == 468437664:
- data = open('mydatabase.db', 'rb')
- bot.send_document(468437664, data)
- else:
- bot.send_message(message.chat.id, 'Эта команда была создана не для вас! ;)')
- except Exception as e:
- bot.send_message(config.error_log, e)
- @bot.message_handler(commands=['stats'])
- def stats(message):
- try:
- if message.chat.id == int(468437664):
- cursor.execute('SELECT * FROM distr')
- num_users = cursor.fetchall()
- bot.send_message(468437664, '<code>Статистика:</code>\nЗарегистрировано пользователей в базе: <b>{}</b>'.format(len(num_users)), parse_mode='HTML' )#+ '\nСообщений в базе: <b>{}</b>'.format(num_messages))
- else:
- bot.send_message(message.chat.id, 'Похоже, вы не имеете доступа к этой команде :(')
- except Exception as e:
- bo.send_message(config.error_log, e)
- @bot.message_handler(commands=['start'])
- def start(message):
- if int(message.chat.id) == config.owner:
- try:
- markup = types.ReplyKeyboardMarkup()
- itembtnv = types.KeyboardButton('/send_db')
- itembtnc = types.KeyboardButton('/help')
- itembtnd = types.KeyboardButton('/ping')
- itembtnb = types.KeyboardButton('/stats')
- markup.row(itembtnv, itembtnb)
- markup.row(itembtnc, itembtnd)
- bot.send_message(config.owner, 'Привет, хозяин :)', reply_markup=markup)
- except Exception as e:
- bot.send_message(config.error_log, e)
- else:
- try:
- cursor = conn.cursor()
- message_id = int(message.chat.id)
- status = cursor.execute("SELECT user_id FROM distr WHERE user_id == (?)", (message_id,))
- if message_id == status:
- bot.send_message(message.chat.id, 'Упс, кажется вы уже регистрировались. Просто напишите что-нибудь')
- else:
- bot.send_message(message.chat.id, 'Привет, ' + str(message.from_user.first_name) +'!\n' 'Данный бот создан для общения с @AmirAdminTG\n\nДоступные команды:\n/id — посмотреть cвой ID\n/ping — узнать, жив ли бот')
- cursor.execute("INSERT INTO distr (user_id) VALUES (?)", (message_id,))
- conn.commit()
- except Exception as e:
- bot.send_message(config.error_log, e)
- @bot.message_handler(commands=["ping"])
- def ping(message):
- if message.chat.id == 484846555:
- pass
- else:
- bot.send_message(message.chat.id, "<b>PONG!</b>" , parse_mode="HTML")
- @bot.message_handler(commands=['id'])
- def process_start(message):
- if int(message.chat.id) == 484846555:
- pass
- else:
- bot.send_message(message.chat.id, "Твой ID: " + str(message.from_user.id), parse_mode = 'HTML')
- bot.forward_message(config.owner, message.chat.id, message.message_id)
- @bot.message_handler(content_types=["text"])
- def messages(message):
- cursor = conn.cursor()
- message_id = message.chat.id
- name = message.chat.first_name
- username = message.chat.username
- message_text = message.text
- message_date = message.date
- cursor.execute("INSERT INTO bot VALUES (?,?,?,?,?)", (message_id, name, username, message_text, message_date))
- conn.commit()
- if int(message.chat.id) == config.group or int(message.chat.id) == 468437664:
- try:
- bot.send_message(message.reply_to_message.forward_from.id, message.text)
- except Exception as e:
- bot.send_message(config.error_log, e)
- else:
- try:
- bot.forward_message(config.group, message.chat.id, message.message_id)
- bot.send_message(message.chat.id, str(message.from_user.first_name) + ', я получил сообщение и очень скоро отвечу на него ;)')
- except Exception as e:
- bot.send_message(468437664, e)
- bot.send_message(error_log, e)
- if __name__ == '__main__':
- bot.polling(none_stop = True, timeout = 600)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement