Перейти к публикации

Russel

Members
  • Публикации

    4
  • Зарегистрирован

  • Посещение

    Никогда

Репутация

2 Neutral
  1. Предисловие У меня появилась вполне простая задача,в определенное время отправить пользователю сообщение. К моему удивлению в интернете нормальных,рабочих решений я не нашел. Благо до меня дошло,что я ж программист и решил написать скрипт для реализации моей задачи,которым решил поделиться со всеми. Код написан конечно же на 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 #просто продолжаем выполнение кода. _____________________________________________________________________________________________________________________________________ Вот мы и закончили написание нашего скрипта,в итоге пользователь получает такое сообщение P.s. Если вы хотите отправить картинку,то советую использовать какой-либо фотохостинг и отправлять ссылку на загруженное фото,а вк сам загрузит превью в диалог. Просто метод отправки изображения 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
×
×
  • Создать...