Форум программистов, компьютерный форум, киберфорум
Python: API, боты
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.67/21: Рейтинг темы: голосов - 21, средняя оценка - 4.67
1 / 1 / 0
Регистрация: 05.02.2018
Сообщений: 2

Vk api бот на питоне

05.02.2018, 18:35. Показов 4494. Ответов 2
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Короче ребята траблы такие хелпуйте. Делаю бота,код в основном как у всех на этом форуме т к с одного ресурса брали.У меня вопрос,что код там через if/elif может сравнивать только с последним сообщением.Просто я хочу например сделать так:как бот встречает непонятное слово он берет и говорит напиши "Помощь" чтобы помочь обучить меня.Человек пишет помощь ,и бот выкидывает "Напишите вопрос на какой я должен отвечать : " потом пользователь пишет в новом сообщении(оно запоминается в файловой системе),потом опять "Что должен ответить:" (аналогично).Как долго не долбался не знаю как этого добиться со стороны алгоритма.Я знаю что это все будет происходить в else (если делать через if'ы).
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
import vk_api
import time
 
vk = vk_api.VkApi(login ='', password = '')
vk.auth()
 
values = {'out':0, 'count':100, 'time_offset':60 }
response = vk.method('messages.get' , values)
 
vk.method('messages.get' , values)
 
def write_msg(user_id, s):
    vk.method('messages.send', {'user_id': user_id , 'message': s})
flag = 0
while True:
    if flag == 0:
        response = vk.method('messages.get', values)
        if response['items']:
            values['last_message_id'] = response['items'][0]['id']
        for item in response['items']:
            if str.lower('привет') in str.lower(response['items'][0]['body']):
                write_msg(item['user_id'], 'Привет')
            elif str.lower('Что делаешь') in str.lower(response['items'][0]['body']):
                write_msg(item['user_id'], 'Ничоо(')
            elif str.lower('Как дела') in str.lower(response['items'][0]['body']):
                write_msg(item['user_id'], 'Нормально')
            elif str.lower('пока') in str.lower(response['items'][0]['body']):
                write_msg(item['user_id'], 'Уже уходишь?')              
            elif str.lower(response['items'][0]['body']) == 'да':
                write_msg(item['user_id'], 'Ладно')
            elif str.lower('спокойной ночи') in str.lower(response['items'][0]['body']):
                write_msg(item['user_id'], 'Сладких снов')
            elif str.lower(response['items'][0]['body']) == '?':
                write_msg(item['user_id'], 'Вот в чем вопрос?')
            elif str.lower(response['items'][0]['body']) == 'что':
                write_msg(item['user_id'], 'ни что')            
            else:
                write_msg(item['user_id'], 'Сейчас я тебя не понимаю,но ты всегда можешь помочь мне.Напиши "Помощь" если хочешь помочь.')
                a=str.lower(response['items'][0]['body'])
                if a == str.lower('Помощь'):
                    flag = 1 
    else:
        flag=0
        filePath = 'C:/Project/text.txt'
        file = open(filePath,'a')
        file.write(str.lower(response['items'][0]['body']))
        file.write('\n')
        file.close()
               
    
    time.sleep(1)
1
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
05.02.2018, 18:35
Ответы с готовыми решениями:

Бот для дискорда на питоне
Добрый день и всех с наступающим! Немного начала разбираться с написание бота для дискорда, написал и запустил. Этого было мало и я...

Бот для telegram на Питоне
Очень хотел написать бота для telegram, долго изучал эту тему и наконец написал программу. Писал на PyCharm под Виндой, задача Бота ответ...

Бот в телеграмм на Питоне
Подскажите, может я чего то не вижу? Приложу часть кода, не могу понять, что делаю не так Первая часть: def name(message): if...

2
0 / 0 / 0
Регистрация: 29.01.2017
Сообщений: 2
05.02.2018, 18:45
Вопросы и ответы храни в отдельном в файле в json формате. Тогда можно будет программно изменять его.
0
1 / 1 / 0
Регистрация: 05.02.2018
Сообщений: 2
05.02.2018, 19:24  [ТС]
Разве это повлияет на решение моего вопроса?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
05.02.2018, 19:24
Помогаю со студенческими работами здесь

Бот в телеграмм на Питоне
Я только начал изучать это дело... Успел прочитать первую главу питона Марка Саммерфилда, читаю по возможности, но время поджимает. ...

Бот на питоне для Flash игры
Здравствуйте! Необходим бот для Флеш игры. Естественно собираюсь писать сам. Есть кликер написанный мной на Питоне, который будет...

Бот на питоне для телеги - проблемы с обработкой команд
поздновато может для меня учить программирование, но что не сделаешь ради хобби (хотя я чайник по вашим меркам ещё тот), решил начать...

Удаление подписчиков в ВК через vk api на питоне
Здравствуйте. Хочу удалить всех подписчиков со своей стриницы в ВК с помощью Python. Использую vk api и модуль requests. Пишу...

VK API | Бот
Мне нужен бот. Смотрите, в игре, генерируется код, который ты вводишь в группе вк в лс, что будет означать "Работа скрипта...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Новые блоги и статьи
1С: Программный отбор элементов справочника Номенклатура по группе
Maks 22.03.2026
Установка программного отбора элементов справочника "Номенклатура" из модуля формы документа. В качестве фильтра для отбора справочника служит группа номенклатуры. Отбор по наименованию группы. . .
Как я обхитрил таблицу Word
Alexander-7 21.03.2026
Когда мигает курсор у внешнего края таблицы, и нам надо перейти на новую строку, а при нажатии Enter создается новый ряд таблицы с ячейками, то мы вместо нервных нажатий Энтеров мы пишем любые буквы. . .
Krabik - рыболовный бот для WoW 3.3.5a
AmbA 21.03.2026
без регистрации и смс. Это не торговля, приложение не содержит рекламы. Выполняет свою непосредственную задачу - автоматизацию рыбалки в WoW - и ничего более. Однако если админы будут против -. . .
1С: Программный отбор элементов справочника Сотрудники по значению перечисления
Maks 21.03.2026
Установка программного отбора элементов справочника "Сотрудники" из модуля формы документа. В качестве фильтра для отбора служит предопределенное значение перечислений. Процедура. . .
Переходник USB-CAN-GPIO
Eddy_Em 20.03.2026
Достаточно давно на работе возникла необходимость в переходнике CAN-USB с гальваноразвязкой, оный и был разработан. Однако, все меня терзала совесть, что аж 48-ногий МК используется так тупо: просто. . .
Оттенки серого
Argus19 18.03.2026
Оттенки серого Нашёл в интернете 3 прекрасных модуля: Модуль класса открытия диалога открытия/ сохранения файла на Win32 API; Модуль класса быстрого перекодирования цветного изображения в оттенки. . .
SDL3 для Desktop (MinGW): Рисуем цветные прямоугольники с помощью рисовальщика SDL3 на Си и C++
8Observer8 17.03.2026
Содержание блога Финальные проекты на Си и на C++: finish-rectangles-sdl3-c. zip finish-rectangles-sdl3-cpp. zip
Символические и жёсткие ссылки в Linux.
algri14 15.03.2026
Существует два типа ссылок — символические и жёсткие. Ссылка в Linux — это запись в каталоге, которая может указывать либо на inode «файла-ИСТОЧНИКА», тогда это будет «жёсткая ссылка» (hard link),. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru