@Dzhigit
Начинающий прогер

Повтор сообщения Python?

import json, random, vk, vk_api
from vk_api.bot_longpoll import VkBotLongPoll, VkBotEventType

session = vk.Session(access_token='')
vks = vk_api.VkApi(token='')
api = vk.API(session)
invitation = ['H#FHVBFVHV', 'HHGFHFHFF']


while True:
    messages = vks.method("messages.getConversations", {"offset": 0, "count": 20, "filter": "unread"})
    if messages["count"] >= 1:
        id = messages["items"][0]["last_message"]["from_id"]
        mes = messages["items"][0]["last_message"]["text"]

        # Проверка
        for i in invitation:
            if i == mes:
                vks.method("messages.send", {"peer_id": id, "message": 'Инвайт успешно подошел, вот ваша ссылка:', "random_id": random.randint(0, 10000)})
                vks.method("messages.send", {"peer_id": id, "message": 'Ссылка - ', "random_id": random.randint(0, 10000)})
            else:
                vks.method("messages.send", {"peer_id": id, "message": 'Инвайт не подходит!', "random_id": random.randint(0, 10000)})


При обращения отправке сообщения в группу, он дважды повторяет сообщение.
  • Вопрос задан
  • 74 просмотра
Решения вопроса 2
ds_team1
@ds_team1
.py .js
вместо блока проверки:
if mes in investigation:
    print('вы приняты')
else:
    print('Инвайт не подходит!')

так он проверит, есть ли сообщение в предложенных вариантах
Ответ написан
trapwalker
@trapwalker Куратор тега Python
Программист, энтузиаст
Ну да, вы ж его в цикле отправляете. А цикл по списку. А в списке два элемента. Два раза и отправляет.
Вы чего хотели-то?
Имеется в виду негативная ветка внутри цикла. Если оба значения i не равны mes, то будет дважды выполнена ветка else
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы
OnederX Москва
от 100 000 до 120 000 ₽
NatsON Москва
от 220 000 до 350 000 ₽
SwapZilla.co Москва
от 200 000 ₽
15 авг. 2020, в 01:45
95000 руб./за проект
14 авг. 2020, в 22:47
15000 руб./за проект
14 авг. 2020, в 22:40
15000 руб./за проект