Ответы пользователя по тегу ВКонтакте
  • Как прикрепить два вложения к сообщению бота?

    @truenotnamed
    Вместо
    attachment = 'photo-188884444_457239102', 'audio-188884444_456239017'

    нужно сделать
    attachment = 'photo-188884444_457239102,audio-188884444_456239017'
    Ответ написан
    Комментировать
  • Работающий лонгполл в ВК на Python, через requests?

    @truenotnamed
    Во-первых, если не ошибаюсь, ts — это не порт, а номер последнего события в данной группе. Он возвращается с каждым событием в группе, его нужно отправлять в каждом последующем запросе к Long Poll — об этом написано в документации. То есть нужно сделать подобно этому:

    last_ts = None
    
    def check():
        global last_ts
        params = {"access_token": str(vk), "v": str(version), "group_id": str(group_id)} # параметры GET-запроса, которые необходимо передать
        longpoll = requests.get("https://api.vk.com/method/groups.getLongPollServer", params).json()
        last_ts = longpoll["response"]["ts"]
        key = longpoll["response"]["key"]
        server = longpoll["response"]["server"].split(r'\'')
        server = ''.join(server)
        params = {"act": "a_check", "key": key, "ts": last_ts, "wait": 90} 
        longpoll = requests.get(server, params).json()
        print(longpoll)
        return longpoll["updates"]


    Правда не уверен, что функция будет корректно работать с return. Скорее всего, тут понадобиться сделать так:
    yield longpoll["updates"]
    Тогда будет работать корректно.

    А во-вторых, в vk_api можно поставить необходимую версию API:
    import vk_api
    vk = vk_api.VkApi(token = accessToken, api_version = "5.110")

    Или так (уже после иниализации vk):
    vk.api_version = "5.110"
    Ответ написан
    Комментировать
  • Как поставить префикс боту?

    @truenotnamed
    Обозначить переменную с префиксом:

    prefix = "/"

    А после этого добавить проверку, является ли сообщение командой (то есть начинается с префикса):

    if body.lower().startswith(prefix):
        # код с логикой бота
    Ответ написан
    1 комментарий