отправка сообщений в беседу в определенное время

chapo

🫡 В армии с 17.10.2023. В ЛС НЕ ОТВЕЧАЮ
Автор темы
Друг
8,767
11,220
Как сделать отправку сообщений в беседу от имени группы в вк в определенное время и с определенным сообщением для каждого времени? Примеров не нашел
 

AdCKuY_DpO4uLa

Известный
287
477
Отправить гет запрос на апи вк
https://api.vk.com/method/messages.send?&peer_id=ид_беседы(если беседа группы только одна и единственная, то ид равен 2000000001)&message=сообщение&access_token=токен_группы_с_разрешением_на_отправку_сообщений&v=5.41
 

Josski Molodoi

Активный
183
85
Попробуй узнавать текущее время, задав перед этим значения(current_time_x) при которых будет выполняться отправка сообщения, и через потоки включить бота и эту функцию. (чтоб while не останавливал работу скрипта, логично)
Python:
import datetime
import time as tm
from threading import Thread

current_time_1, current_time_2, current_time_3, current_time_4 = '21:30', '11:35', '7:10', '01:10'

def checktime():
    while True:
        time = datetime.datetime.now().strftime("%H:%M")
        if str(time) == current_time_1:
            """do something"""
            bot.send_message(message.chat.id, 'TEXT')
        else:
            pass
        if str(time) == current_time_2:
            """do something"""
            bot.send_message(message.chat.id, 'TEXT')
        else:
            pass
        if str(time) == current_time_3:
            """do something"""
            bot.send_message(message.chat.id, 'TEXT')
        else:
            pass
        if str(time) == current_time_4:
            """do something"""
            bot.send_message(message.chat.id, 'TEXT')
        else:
            pass

        tm.sleep(10)


t1 = Thread(target=checktime)
t1 = Thread(target=bot.polling(none_stop=True))

t1.start()
t2.start()
 
Последнее редактирование: