Задать вопрос
@GetLuck02

Бот вк как найти нужное слово в строке?

Суть задачи :
user отправляет сообщение боту , бот должен проверить , есть ли в сообщении определенная строка . Пример:
получено сообщение : блаблабла
бот проверяет , если в "блаблабла" есть "a" , бот отвечает "ага"
я пытался сделать это таким образом, ошибку не выдавало , но и результата не было:
# -*- coding: utf-8 -*-
import time
import vk_api
import string
vk = vk_api.VkApi(login = '********', password = '*****')

vk.auth()
values = {'out': 0,'count': 100,'time_offset': 60}
response = vk.method('messages.get', values)

def write_msg(user_id, s):
    vk.method('messages.send', {'user_id':user_id,'message':s})

while True:

    if response['items']:
        values['last_message_id'] = response['items'][0]['id']
    for item in response['items']:
            string  = response['items']['body']
            if 'a' in string:
                write_msg(item['user_id','ага'])
    time.sleep(1)

пожалуйста помогите , как делать правильно и красиво)
  • Вопрос задан
  • 282 просмотра
Подписаться 2 Простой 1 комментарий
Решения вопроса 1
@GetLuck02 Автор вопроса
Сам дошел до решения , оказалось все очень просто
было:
while True:

    if response['items']:
        values['last_message_id'] = response['items'][0]['id']
    for item in response['items']:
            string  = response['items']['body']
            if 'a' in string:
                write_msg(item['user_id','ага'])
    time.sleep(1)

исправил ошибку, стало
while True:

    if response['items']:
        values['last_message_id'] = response['items'][0]['id']
    for item in response['items']:
            string  = response['items'][0]['body'] #забыл ноль
            if 'a' in string:
                write_msg(item['user_id]','ага")
    time.sleep(1)
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

Похожие вопросы
18 дек. 2024, в 12:39
1000 руб./за проект
18 дек. 2024, в 12:37
10000 руб./за проект
18 дек. 2024, в 12:22
5000 руб./за проект