Кто-нибудь, киньте мне код для того чтобы делать рассылки через команду в боте (доступно только админу) Библиотека телебот , срочно прошу(
Ну код скинуть не могу,но могу помочь с реализацией тебе нужно как только юзер нажимает на /start записывать его ид в БД ну или список,потом создать команду для отправки сообщения,и сделать проверку если айди юзера == айди админа делать собсно рассылку
admin_sending_messages_dict = {} if call.data == 'admin_sending_messages': msg = bot.send_message(chat_id, text='Введите текст рассылки') bot.register_next_step_handler(msg, admin_sending_messages) Code if call.data == 'admin_sending_messages': msg = bot.send_message(chat_id, text='Введите текст рассылки') bot.register_next_step_handler(msg, admin_sending_messages) def admin_sending_messages(message): dict = func.Admin_sending_messages(message.chat.id) admin_sending_messages_dict[message.chat.id] = dict dict = admin_sending_messages_dict[message.chat.id] dict.text = message.text msg = bot.send_message(message.chat.id, text='Отправьте "ПОДТВЕРДИТЬ" для подтверждения') bot.register_next_step_handler(msg, admin_sending_messages_2) def admin_sending_messages_2(message): conn = sqlite3.connect('base_ts.sqlite') cursor = conn.cursor() dict = admin_sending_messages_dict[message.chat.id] if message.text == 'ПОДТВЕРДИТЬ': cursor.execute(f'SELECT * FROM users') row = cursor.fetchall() for i in range(len(row)): try: time.sleep(1) bot.send_message(row[i][0], dict.text) except: pass else: bot.send_message(message.chat.id, text='Рассылка отменена', reply_markup=menu.admin_menu) Code def admin_sending_messages(message): dict = func.Admin_sending_messages(message.chat.id) admin_sending_messages_dict[message.chat.id] = dict dict = admin_sending_messages_dict[message.chat.id] dict.text = message.text msg = bot.send_message(message.chat.id, text='Отправьте "ПОДТВЕРДИТЬ" для подтверждения') bot.register_next_step_handler(msg, admin_sending_messages_2) def admin_sending_messages_2(message): conn = sqlite3.connect('base_ts.sqlite') cursor = conn.cursor() dict = admin_sending_messages_dict[message.chat.id] if message.text == 'ПОДТВЕРДИТЬ': cursor.execute(f'SELECT * FROM users') row = cursor.fetchall() for i in range(len(row)): try: time.sleep(1) bot.send_message(row[i][0], dict.text) except: pass else: bot.send_message(message.chat.id, text='Рассылка отменена', reply_markup=menu.admin_menu)
Забыл кинуть class Admin_sending_messages: def __init__(self, user_id): self.user_id = user_id self.text = None Code class Admin_sending_messages: def __init__(self, user_id): self.user_id = user_id self.text = None