В этой статье вы узнаете как создавать простого эхо бота в ВК на языке Python. Вы можете просто копировать строки кода, но заменив некоторые данные, чтобы бот работал у вас в группе.
Создание группы для получения API-Токена:
С начала вам нужно перейти в раздел сообщества во Вконтакте, там нажать на кнопку «Создать сообщество»
Затем выбираем какую группы вы хотите создать, выбираем первую во втором ряду «Группа по интересам»
Когда создадим группу, заходим в раздел «Управление» в своей группе
Затем нажимаем на кнопку «Работа с API»
Далее в открывшимся окне нажимаем «Long Poll API»
После это выбирайте все так же как на фотографии ниже
После этого кликаем назад на «Ключ доступа», а затем нажимаем на кнопку «Создать ключ»
Выбираем все так же как и на картинке ниже для получения сообщений и создаем токен. При создание вам позвонит бот, или отправится сообщение с кодом
МОЙ ИГРОВОЙ БОТ ВК НА PYTHON #1 + ИСХОДНИК
Копируем появившийся токен, он нам ещё пригодится
Качаем нужную библиотеку:
В командой строке cmd пишем такую команду
pip install vk_api
Теперь пишем самого бота
Для начала Импортируем нужные методы:
import vk_api from vk_api.bot_longpoll import VkBotLongPoll, VkBotEventType
Теперь в ходим ботом в группу, но заменяем «Api-Token» на свой токен который вы скопировали и «ID-Сообщества» на ID-вашего сообщества :
vk_session = vk_api.VkApi(token = «Api-Token», api_version = 5.95) vk = vk_session.get_api() longpoll = VkBotLongPoll(vk_session, ID-Сообщества)
После входа начинаем слушать события для получения сообщений:
for event in longpoll.listen(): if event.type == VkBotEventType.MESSAGE_NEW:
Сейчас я вам покажу какие типы сообщений я знаю:
Откуда пришло сообщение:
event.object.peer_id
event.object.from_id
event.object.text
А теперь от куда могу приходить сообщения:
Сообщения с беседы:
if event.object.peer_id != event.object.from_id:
Сообщения от пользователя:
if event.object.peer_id == event.object.from_id:
Мы можем получать сообщения, теперь научимся их отправлять:
vk.messages.send(peer_id = event.object.peer_id, message = f»», random = 0)
Источник: teletype.in
Как создать бота ВК на Python
Всем привет, сегодня мы с вами будем создавать своего собственного бота для Вконтакте на языке программировании Python. Бот будет совершенно простым,но разобравшись в этом, вы в дальнейшем сможете создавать сложные конструкции.
Итак, для написания бота на языке Python, нам понадобится:
1. Python, скачать(клик) , можно с официального сайта, желательно последнею версию!
2. Библиотека vk_api, pip install vk_api — главный модуль для работы с вк api.
3. Группа, а также страница ВК.
4. Любой редактор кода.
Игровой ВК БОТ на Python #1
Итак, для начала нам нужно настроить нашу группу вк и создать токен.
Думаю, рассказывать как создать группу не стоит, переходим в настройки нашей группы, затем «Работа с API», затем нажимаем «Создать ключ», там же разрешаем то что вам нужно, можете разрешить всё 😀
Screenshot взят с открытого источника
После того как создали, копируем его и сохраняем где нибудь для себя, чтобы по 100 раз не брать, после этого заходим во вкладку Long Poll API, включаем его, и в типах событий и включаем то что нам нужно, я же включу только отправку фотографий и сообщения.
Screenshot_2.png
Screenshot_3.png
После этого, переходим в пункт «Сообщения» и включаем их.
Screenshot_4.png
Так же включаем возможности бота:
Screenshot_5.png
Всё, теперь токен у нас есть, осталось использовать его по назначению.
Создаем папку, в которой вы бы хотели хранить своего бота Вконтакте.
В этой папке создаём текстовый документ с любым английским названием и меняем расширение с .txt на .py.
После всего этого, открываем командную строку (Win +R, cmd) и переходим в директорию нашего скрипта который мы создали только что:
cd диск:/папка/и еще папка есть есть.
Теперь необходимо установить библиотеку VK API:
pip install vkapi
Ну и теперь мы можем приступить к написанию нашего бота в Вконтакте, ниже я привел кусок кода, который вам необходимо будет просто скопировать и вставить, а там по ходу вы поймете, какие строчки — за что отвечают:
easyvkbot.py:
# Импортируем библиотеку vk_api
import vk_api
# Достаём из неё longpoll
from vk_api.longpoll import VkLongPoll, VkEventType
# Создаём переменную для удобства в которой хранится наш токен от группы
token=»токен» # В ковычки вставляем аккуратно наш ранее взятый из группы токен.
# Подключаем токен и longpoll
bh = vk_api.VkApi(token = token)
give = bh.get_api()
longpoll = VkLongPoll(bh)
# Создадим функцию для ответа на сообщения в лс группы
def blasthack(id, text):
bh.method(‘messages.send’, )
# Слушаем longpoll(Сообщения)
for event in longpoll.listen():
if event.type == VkEventType.MESSAGE_NEW:
# Чтобы наш бот не слышал и не отвечал на самого себя
if event.to_me:
# Для того чтобы бот читал все с маленьких букв
message = event.text.lower()
# Получаем id пользователя
# Доисторическая логика общения на ифах
# Перед вами структура сообщений на которые бот сможет ответить, elif можно создавать сколько угодно, if и else же могут быть только 1 в данной ситуации.
# if — если, else — иначе(значит бот получил сообщение на которое не вызвана наша функция для ответа)
if message == ‘привет’:
blasthack(id, ‘Привет, я бот!’)
elif message == ‘как дела?’:
blasthack(id, ‘Хорошо, а твои как?’ )
else:
blasthack(id, ‘Я вас не понимаю! :(‘)
После этого сохраняем файл и пишем в директории со скриптом следующие:
python название.py, если у вас ошибка то командная строка или терминал скажут вам об этом и программа не запустится.
python easyvkbot.py
Если вы все сделали правильно, то наш бот будет отвечать вам!
Источник: dzen.ru
Гайд Бот для беседы Python за 10 Минут! 1 Часть
Это моя первая статья (помидоры придержите) , по этому тут будет все кратко и понятно
- Python последней версии.
- vk_api
- json (для фикса бота)
- Ну и наверное, мозги..
Спойлер: Если не знаешь что такое python, то именно для тебя я сделаю мини гайд.
Первым делом скачиваешь python
Не забудь нажать на галочку снизу!
дальше заходишь в cmd и пишешь:
Думаю дальше все понятно.
Перейдем к главному!
Бота мы будем писать с помощью longpoll, по этому трудностей не должно быть.
Подробнее о longpoll можете прочитать тут.
Для начала импортим либы
import vk_api import requests import json import random from vk_api.bot_longpoll import VkBotLongPoll, VkBotEventType
Дальше делаем авторизацию (Вписываем токен)
vk = vk_api.VkApi(token=’Твой токен’) vk._auth_token() vk.get_api()
Спойлер: Что такое токен.
Ну это так скажем, ключ авторизации твоей группы.
Так как же его получить?
Заходим в свою группу, нажимаем сюда:
Дальше кликаем сюда:
Дальше нажимаем на все галочки и «Cоздать»
Теперь надо, чтобы бот брал random id и мог писать в беседу
def get_random_id(): return random.randint(0, 100000000)
Пишем id группы
group_id = ‘200200719’
Теперь сделаем главный фикс для будущих функций. ( json )
longpoll = VkBotLongPoll(vk, group_id) for event in longpoll.listen(): if event.type == VkBotEventType.MESSAGE_NEW: d1 = event.object.message s1 = json.dumps(d1) d2 = json.loads(s1) json_object = d2 message = json_object[‘text’] message = message.split(» «) str1 = message[0].split(«|»)[0] str1 = str1.replace(«[club», «») if group_id == str1: message.pop(0) message = ‘ ‘.join(message).lower() print(message)
А вот и самая интересная часть. Делаем vk.metod с ответами на твои сообщения
Можно сделать ответы на любые слова, веселитесь:D
# if message == ‘слово на которое будет отвечать бот’ if message == ‘начать’ or message == ‘помощь’: # Сам метод отправки сообщения. vk.method(«messages.send», ) # Метод отправки сообщения с изображением! На месте photo-200206824_457239017 можете поставить свое. elif message == ‘nigger’ or message == ‘ниггеры’ or message == ‘ниггер’ or message == ‘нигга’ or message == ‘черный’: vk.method(«messages.send», )
Пример самого просто словаря:
slovar1 = »’ Привет это супер бот! Я умею: сказать привет! »’
Молодец! За 10 минут ты научился писать бота, а теперь иди и делай 1000 триггеров на все слова!
Надеюсь что было понятно. Если понравится первая часть, оставляйте реакцию и пишите аргументированную критику (Она помогает мне улучшать свой контент)!
- Писать первые функции.
- Пофиксим возможные баги.
- Научим бота отправлять сообщения в определенный срок.
- Сделаем парсер сайтов для бота.
- Использовать vk клавиатуру.
Источник: brokencore.club