Гайд Бот для беседы Python за 10 Минут! 1 Часть

  • 217
  • 101
4.13. Запрещено выпрашивание реакций у других пользователей.
Доброго времени суток, дорогие друзья!

1610374526835.png

Это моя первая статья(помидоры придержите), по этому тут будет все кратко и понятно:yesmate:

Сразу нужно понять, что нам понадобится:
  1. Python последней версии.
  2. vk_api
  3. json (для фикса бота)
  4. Ну и наверное, мозги..
Первым делом скачиваешь python
Не забудь нажать на галочку снизу!
1610368262484.png


дальше заходишь в cmd и пишешь:
1610368392652.png

Думаю дальше все понятно.

Перейдем к главному!
Бота мы будем писать с помощью longpoll, по этому трудностей не должно быть.
Подробнее о longpoll можете прочитать тут.

Для начала импортим либы
Python:
import vk_api
import requests
import json
import random
from vk_api.bot_longpoll import VkBotLongPoll, VkBotEventType

Дальше делаем авторизацию (Вписываем токен)
Python:
vk = vk_api.VkApi(token='Твой токен')
vk._auth_token()
vk.get_api()

Ну это так скажем, ключ авторизации твоей группы.

Так как же его получить?

Заходим в свою группу, нажимаем сюда:

скриншотик

Дальше кликаем сюда:

скриншотик

нажимаем сюда:

скриншотик

Дальше нажимаем на все галочки и "Cоздать"

скришнотик

Теперь надо, чтобы бот брал random id и мог писать в беседу

Python:
def get_random_id():
    return random.randint(0, 100000000)

Пишем id группы

Python:
group_id = '200200719'

Теперь сделаем главный фикс для будущих функций. (json)

Python:
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()

            id = json_object['peer_id']
            print(message)


А вот и самая интересная часть. Делаем vk.metod с ответами на твои сообщения

Можно сделать ответы на любые слова, веселитесь:D

Python:
# if message == 'слово на которое будет отвечать бот'
if message == 'начать' or message == 'помощь':
# Сам метод отправки сообщения.
    vk.method("messages.send", {"peer_id": id, 'random_id':get_random_id(), "message": Тут либо словарь, либо сообщение })
# Метод отправки сообщения с изображением! На месте photo-200206824_457239017 можете поставить свое.        
elif message == 'nigger' or message == 'ниггеры' or message == 'ниггер' or message == 'нигга' or message == 'черный':
    vk.method("messages.send", {"peer_id": id, "message": "Nigga?", "attachment": "photo-200206824_457239017", "random_id": 0})

Пример самого просто словаря:

Python:
slovar1 = '''
Привет это супер бот!
Я умею:
сказать привет!
'''

Молодец! За 10 минут ты научился писать бота, а теперь иди и делай 1000 триггеров на все слова!

Надеюсь что было понятно. Если понравится первая часть, оставляйте реакцию и пишите аргументированную критику(Она помогает мне улучшать свой контент)!

В следующих частях мы научимся:

  1. Писать первые функции.
  2. Пофиксим возможные баги.
  3. Научим бота отправлять сообщения в определенный срок.
  4. Сделаем парсер сайтов для бота.
  5. Использовать vk клавиатуру.
Остались вопросы ? Пиши в tg
Пример моего кода:

Python:
import vk_api
import requests
import json
import random
from vk_api.bot_longpoll import VkBotLongPoll, VkBotEventType
vk = vk_api.VkApi(token='ala3f4554g464g4ssr3354f434f34ssr3354f434f34ssr3354f434f34ssr3354f434f34')
vk._auth_token()
vk.get_api()

def get_random_id():
    return random.randint(0, 100000000)

bot_help = '''
⚙ Всю актуальную информацию об SuperBot вы можете найти тут:
Ссылочка
'''

creators = '''
Говнокодеры - @d3c0dik(Sergey)

'''
group_id = '1337433'

longpoll = VkBotLongPoll(vk, group_id)

for event in longpoll.listen():
   if event.type == VkBotEventType.MESSAGE_NEW:
            #print(event.object)
            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()

            id = json_object['peer_id']
            print(message)
            if message == 'начать' or message == 'помощь':
                vk.method("messages.send", {"peer_id": id, 'random_id':get_random_id(), "message":  bot_help })
            elif message == 'баг' or message == 'нашел баг':
                vk.method("messages.send", {"peer_id": id, 'random_id':get_random_id(), "message":  'Привет! Появились какие-то проблемы или же нашел баг'})
            elif message == 'создатель':
                vk.method("messages.send", {"peer_id": id, 'random_id':get_random_id(), "message": creators })
 
Последнее редактирование:
Сверху Снизу