Помощь в авто рассылке о днях рождения
Как переделать ручную рассылку в авто рассылку пользователям о днях рождения?
Чтобы этот код скажем проверял каждый день в 08:00
Есть таблица (birthday) сотрудников (last_name, first_name, third_name, data_r)
Есть таблица (user) подписчиков (user, status = True или False)
Получаем всех активных подписчиков бота (query = "SELECT * FROM user WHERE status = ?")
Получается нам нужен запрос который будет сопоставлять текущую дату с датой рождения (data_r) (дату и месяц), и на вывод информации сотрудника (поздравление).
Это код для рассылки сообщений пользователям вручную (он работает)
@bot.message_handler(commands=["mess"])
def reklama(message):
if message.chat.id == settings.ADMINS_ID:
bot.send_message(message.chat.id, settings.Y_ADMIN)
bot.register_next_step_handler(message, textrek)
else:
pass
def textrek(message):
message_everyone(message)
def message_everyone(message):
core.log(message.chat, message.text)
conn = sqlite3.connect(settings.DATABASE, check_same_thread=False)
cursor = conn.cursor()
sql = "SELECT user_id FROM USERS"
cursor.execute(sql,)
result = cursor.fetchall()
for i in result:
try:
if message.content_type == "text":
#text
tex = message.text
bot.send_message(i[0], tex)
elif message.content_type == "photo":
#photo
capt = message.caption
photo = message.photo[-1].file_id
bot.send_photo(i[0], photo, caption=capt)
elif message.content_type == "video":
#video
capt = message.caption
photo = message.video.file_id
bot.send_video(i[0], photo)
elif message.content_type == "audio":
#audio
capt = message.caption
photo = message.audio.file_id
bot.send_audio(i[0], photo, caption=capt)
elif message.content_type == "voice":
#voice
capt = message.caption
photo = message.voice.file_id
bot.send_voice(i[0], photo, caption=capt)
elif message.content_type == "animation":
#animation
capt = message.caption
photo = message.animation.file_id
bot.send_animation(i[0], photo, caption=capt)
elif message.content_type == "document":
#document
capt = message.caption
photo = message.document.file_id
bot.send_document(i[0], photo, caption=capt)
except:
return
conn.commit()
conn.close()