Всем привет.
Пишу бота, который должен всем в определенное время присылать текст.
Логика ответов уже есть. А так же привязка к бд, чтобы оттуда брать user_id.
Вот куски кода из моего бота:
import vk_api
from vk_api.bot_longpoll import VkBotLongPoll, VkBotEventType
from vk_api.keyboard import VkKeyboard, VkKeyboardColor
from vk_api.utils import get_random_id
import sqlite3
import time
from datetime import datetime as dt
token = токен
vk_session = vk_api.VkApi(token=token)
vk = vk_session.get_api()
longpool = VkBotLongPoll(vk_session, id группы)
__connection = None
def get_connection(): # Производится соединение с базой
global __connection
if __connection is None:
__connection = sqlite3.connect('name.db')
return __connection
def get_id(): #Проход по колонке user_id с пользователями из таблицы user || Возвращает список с кортежами с пользователями
conn = get_connection()
c = conn.cursor()
c.execute('SELECT user_id FROM user')
res = c.fetchall()
return res
def send_message(user_id):
vk.messages.send(
user_id = user_id,
message =ТЕКСТ,
random_id = get_random_id()
)
while True:
if dt.now().strftime('%H:%M') == 'Ч:М': #Ч-час, М-минута -- время отправки сообщений
list_with_id = get_id() #
for id in list_with_id:
send.message(int(id[0]))
time.sleep(60)
for event in longpool.listen():
#Логика бота
Может быть ошибка в коде, или я тупой. Как все таки реализовать рассылку в боте?
ПОЖАЛУЙСТА не предлагайте всякие рассылки с помощью callback и т.д. Рассылка должна происходить из этого кода.
Спасибо заранее.