Как сделать рассылку для пользователей в Телеграм боте?
Ну например я пишу так: /Команда Текст. После этого всем пользователям отправляется сообщение Текст.
Но команда доступа должна быть только у админа.
Id которого будет находиться в переменной admin = 'id администратора, id 2 администратора'
Бот должен отправлять сообщения всем пользователям в базе данных Sqlite3 по Телеграм id в базе это User_id
У бота есть кнопка "Рассылка" Нужно при её нажатии включать или выключать рассылку например:
bot.send_message(message.chat.id,'Рассылка вкл.')
bot.send_message(message.chat.id,'Рассылка выкл.')
Вот код бота:
import sqlite3
import telebot
from telebot import types
token='Тут токен'
bot=telebot.TeleBot(token)
conn = sqlite3.connect('db/Database.db', check_same_thread=False)
cursor = conn.cursor()
def db_table_val(User_id: int, User_name: str, User_surname: str, Username: str):
cursor.execute('INSERT INTO Users (User_id, User_name, User_surname, Username) VALUES (?, ?, ?, ?)', (User_id, User_name, User_surname, Username))
conn.commit()
@bot.message_handler(commands=['start'])
def button_message(message):
markup=types.ReplyKeyboardMarkup(resize_keyboard=True)
item1=types.KeyboardButton("Рассылка")
markup.add(item1)
us_id = message.from_user.id
us_name = message.from_user.first_name
us_sname = message.from_user.last_name
username = message.from_user.username
user = cursor.execute('SELECT * FROM users WHERE User_id=?', (int(us_id),)).fetchall();
if user:
bot.send_message(message.chat.id,'Не беспокойтесь. Вы существуете.')
else:
db_table_val(User_id=us_id, User_name=us_name, User_surname=us_sname, Username=username)
@bot.message_handler(content_types='text')
def message_reply(message):
if message.text=="Рассылка":
if #если Значение Distribution в базе данных равен TRUE то:
#если админ начнёт рассылку с команды /send то отправлять сообщение
elif #если Значение Distribution в базе данных равен FALSE то:
#если админ начнёт рассылку с команды /send то пользователю ничего не придёт
bot.infinity_polling(none_stop=True)
Вот Бд: