Как отправить в вк сообщение в определенное время: Таймер отправки сообщений ВК

Запланированная отправка сообщений в VK – Telegraph

darkmagazin.info
У меня появилась вполне простая задача,в определенное время отправить пользователю сообщение. К моему удивлению в интернете нормальных,рабочих решений я не нашел.
Благо до меня дошло,что я ж программист и решил написать скрипт для реализации моей задачи,которым решил поделиться со всеми. Код написан конечно же на Python.
Установка Python​

Переходим на официальный сайт PythonА — ТЫК. Скачиваем 3+ версию и устанавливаем ее. 

Суть работы скрипта​

С помощью библиотеки vk_api мы подключаемся к нашему аккаунту,а с помощью библиотеки datetime получаем текущее время, дальше бесконечный цикл проверяет не равняется ли текущее время нужному значению,если это так то отправляем пользователю наше сообщение и завершаем программу,иначе продолжаем работу цикла.

Начинаем кодить ​

С помощью питоновского установщика пакетов установим библиотеку vk_api,для этого запустим терминал(cmd) и введем туда такую команду:

pip install vk_api

В самом начале программы, мы должны подключить библиотеки, которые мы будем использовать в нашем скрипте.

Код:

import vk_api,datetime #подключаем библиотеку vk_api(для работы с vk) и datatime(для получения реального времени)

Создадим функцию для отправки сообщения пользователю с определенным id.

Код:

def send_mes():  #создаем функцию, которая называется send_mes
    try:  #попробовать сделать следующие действия, если не получится, то выполнить действия после except
        vk_session = vk_api.VkApi('+7xxxxxxxxx', 'пароль') #создаем переменную vk_session, которая равняется логину и паролю от нашего аккаунта вк
        vk_session.auth() #по значениям переменной vk_session подлючаемся к аккаунту.
        vk = vk_session.get_api() #создаем переменную vk,которая равняется получению api для работы с вк.
        vk.messages.send(user_id=id_пользователя,message='Скинни,займи деняк! https://a.kal.ru/a426.ng') #с помощью функции messages.send отправляем пользователю с id указанным после user_id,сообщение записанное в переменной message.
sys.exit() #закрывает/выходит из скрипта except: #если действие после try не заработало/выдало ошибку, то выполнить действие после except pass #просто продолжаем выполнение кода.

Теперь создаем функцию для отправки для получения текущего времени.

Код:

def realtim():  #создаем функцию, которая называется realtim
    global realtime #говорим что переменная realtime будет доступна не только в данной функции.
    now = datetime.datetime.now() #переменная now равняется получения реального времени с помощью функции библиотеки  datatime
    realtime=str(now.hour)+":"+str(now.minute) #переведем полученное время в удобный для нас вид и запишем это в переменную realtime равняется

Осталось запустить бесконечный цикл,который будет ждать нужное время

Код:

while True: #Запускаем бесконечный цикл
    realtim() #запускаем функцию realtim
    if realtime == '10:11': #если переменная realtime равняется  нужному нам времени(10:11),то
        try: #попробовать сделать следующие действия, если не получится, то выполнить действия после except
            send_mes() #запускаем функцию send_mes
            break #завершаем цикл
        except: #если действие после try не заработало/выдало ошибку, то выполнить действие после except
            pass #просто продолжаем выполнение кода.
else: #иначе pass #просто продолжаем выполнение кода.

Вот мы и закончили написание нашего скрипта,в итоге пользователь получает такое сообщение:

Если вы хотите отправить картинку,то советую использовать какой-либо фотохостинг и отправлять ссылку на загруженное фото,а вк сам загрузит превью в диалог.

Просто метод отправки изображения vk_api довольно сложный,и мне просто было лень в нем разбираться) 

 Готовый код:

import vk_api,datetime
def send_mes():
    try:
        vk_session = vk_api.VkApi('+7xxxxxxxxx', 'пароль')
        vk_session.auth()
        vk = vk_session.get_api()
        vk.messages.send(user_id=id_пользователя,message='Скинни,займи деняк! https://a.kal.ru/a426.ng')
        sys.exit()
    except:
        pass
def realtim():
    global realtime
    now = datetime.datetime.now()
    realtime=str(now.hour)+":"+str(now.minute)
while True:
    realtim()
    if realtime == '10:11':
        try:
            send_mes()
            break
        except:
            pass
    else:
        pass
Вся информация предоставляется командой DarkMagazin
darkmagazin. info

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

JavaScript отключён. Чтобы полноценно использовать наш сайт, включите JavaScript в своём браузере.