Загрузка...

VK: Отложенное сообщение пользователю в указаное время

Тема в разделе Социальные сети создана пользователем c0z3dc0 20 июл 2022. (поднята 21 июл 2022) 537 просмотров

  1. c0z3dc0
    c0z3dc0 Автор темы 20 июл 2022 Заблокирован(а) 4 18 апр 2020
    Ку всем зеленым! В новой нашей теме я вам покажу как написать скрипт по отложенным сообщениям Вконтакте.

    Устанавливаем нужные нам библиотеки для корректной работы скрипта:
    Код
    python -m pip install --upgrade pip
    pip install urllib3
    pip install colorama
    Далее вставляем наши импорты:
    Python
    import re,json,urllib.request,time,os.path
    from colorama import init
    init()
    from colorama import Fore
    Всё так же будем импортировать colorama:pwalk:
    Для удобства использования решил сделать запись токена и айди пользователя.
    Так же сделал проверки: создан ли файл, не пустой ли он.
    Python
    token_file = "save_token.txt"
    if not os.path.exists(token_file) or os.path.getsize(token_file) == 0:
    tokenvk = input("Введите токен: ")
    with open(token_file,"a+") as t:
    t.write(f"{tokenvk}")
    t.close()
    print(f"{Fore.GREEN}Сохранил токен!{Fore.RESET}")
    else:
    print(f"{Fore.GREEN}Загрузил токен!{Fore.RESET}")
    tokenvk = open(token_file, 'r').readline()
    И следовательно делаем для айди пользователя:
    Python
    id_file = "save_id.txt"
    if not os.path.exists(id_file) or os.path.getsize(id_file) == 0:
    peer_id = input("Введите id пользователя: ")
    with open(id_file,"a+") as t:
    t.write(f"{peer_id}")
    t.close()
    print(f"{Fore.GREEN}Сохранил айди!{Fore.RESET}")
    else:
    print(f"{Fore.GREEN}Загрузил айди!{Fore.RESET}")
    peer_id = open(id_file, 'r').readline()
    И вставляет сохранения значений для времени и текста:
    Python
    time_start = input("Введите время когда отправить сообщение (12:01:20): ")
    message = input("Введите текст сообщения: ")
    Предупреждение: Формат ввода времени: 07:01:01. Если будет 7:01:01, скрипт не сработает!
    Цикл который будет проверять наше время:
    Python
    print(f"{Fore.YELLOW}Ожидаю указаного времени{Fore.RESET}")
    while True:
    if(time.strftime("%H:%M:%S", time.localtime()) == time_start):
    И конечная часть скрипта, а это сам запрос:
    Python

    try:
    url_req = f'https://api.vk.com/method/messages.send?random_id=1&peer_id={peer_id}&message={message}&access_token={tokenvk}&v=5.130'
    data = urllib.request.urlopen(f"{url_req}").read()
    obj = json.loads(data)
    print(f"{Fore.GREEN}OK:{Fore.RESET} {obj['response']}")
    except Exception:
    print(F"{Fore.RED}Error:{Fore.RESET} {obj}")
    break
    Конечно же скриншот о работоспособности скрипта:
    [IMG]
    И для наших любимчиков оставлю полный код:
    Python
    import re,json,urllib.request,time,os.path
    from colorama import init
    init()
    from colorama import Fore

    token_file = "save_token.txt"
    if not os.path.exists(token_file) or os.path.getsize(token_file) == 0:
    tokenvk = input("Введите токен: ")
    with open(token_file,"a+") as t:
    t.write(f"{tokenvk}")
    t.close()
    print(f"{Fore.GREEN}Сохранил токен!{Fore.RESET}")
    else:
    print(f"{Fore.GREEN}Загрузил токен!{Fore.RESET}")
    tokenvk = open(token_file, 'r').readline()

    id_file = "save_id.txt"
    if not os.path.exists(id_file) or os.path.getsize(id_file) == 0:
    peer_id = input("Введите id пользователя: ")
    with open(id_file,"a+") as t:
    t.write(f"{peer_id}")
    t.close()
    print(f"{Fore.GREEN}Сохранил айди!{Fore.RESET}")
    else:
    print(f"{Fore.GREEN}Загрузил айди!{Fore.RESET}")
    peer_id = open(id_file, 'r').readline()

    time_start = input("Введите время когда отправить сообщение (12:01:20): ")
    message = input("Введите текст сообщения: ")
    print(f"{Fore.YELLOW}Ожидаю указаного времени{Fore.RESET}")
    while True:
    if(time.strftime("%H:%M:%S", time.localtime()) == time_start):
    try:
    url_req = f'https://api.vk.com/method/messages.send?random_id=1&peer_id={peer_id}&message={message}&access_token={tokenvk}&v=5.130'
    data = urllib.request.urlopen(f"{url_req}").read()
    obj = json.loads(data)
    print(f"{Fore.GREEN}OK:{Fore.RESET} {obj['response']}")
    except Exception:
    print(F"{Fore.RED}Error:{Fore.RESET} {obj}")
    break
    Для самых маленьких:
    [IMG]

    Заключение: Обычный скрипт на отложенные сообщения написать легко. Но всё таки интересней было показать сохранения на файл и проверка на этот файл. Всем хорошего утра, дня и вечера.
     
    Этот материал оказался полезным?
    Вы можете отблагодарить автора темы путем перевода средств на баланс
    Отблагодарить автора
  2. Kenzo
    Kenzo 20 июл 2022 :catzaza: 2544 5 мар 2019
    Помню, был в вк бот бесплатный с подобным функционалом
     
    1. Посмотреть предыдущие комментарии (2)
    2. Kenzo
      etozema, вообще другой имел ввиду, но мб и этот тоже тема
    3. Kenzo
      c0z3dc0, ты выставляешь скрипт, который требует каких-либо заморочек, а так же, наверное, включенного пк\виртуалки, я же просто отписал, что есть такой же функционал, но без этих проблем
    4. c0z3dc0 Автор темы
      Kenzo, ну для таких `заморочек` я и сделал систему сохранения токена и айди
  3. etozema
    etozema 20 июл 2022 ) 375 6 авг 2019
    для бота бандита, гориллы (таких ботов), идеальная вещь, жду добавления антикапчи.
     
Загрузка...
Top