From f47d888520ecef31b121f2879a79f74886a5dd7b Mon Sep 17 00:00:00 2001 From: FullGreaM Date: Mon, 13 Sep 2021 08:52:43 +0300 Subject: [PATCH] upload documentation --- documentation.html | 88 ++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 88 insertions(+) create mode 100644 documentation.html diff --git a/documentation.html b/documentation.html new file mode 100644 index 0000000..37411a4 --- /dev/null +++ b/documentation.html @@ -0,0 +1,88 @@ + + + + Как подключить callback + + + +
+

Введение и написание кода

+

Наш модуль написан для работы с callback событиями серверов vk.com и создания ботов на принципе callback. Этот метод подходит для нагруженных проектов, которые соединяют в себе несколько ботов, образуя сеть ботов.

+

Итак, наш модуль имеет следующие классы: server, group, vk_event, vk_callbackException. Чтобы вы могли написать бота, вам нужны только два из них: server и group. Перейдём непосрдественно к коду:

+

Для начала, мы должны создать класс, который наследуется от класса server и создадим там метод event со следующими аргументами:

+
import vk_callback
+
+
+class bot(vk_callback.server):
+    def event(self, group_obj, Event):
+        pass  # Сюда будем писать код
+

group_obj отвечает за объект группы, Event - это объект события.

+

У group_obj есть следующие параметры: id, return_str, secret_key. Для разработки бота нам достаточно только id, где id это id группы.

+

У Event есть следующие параметры: type, object, group_id, event_id, secret (всё тоже самое, что и в объекте события вк). Для object это словарь с параметрами объекта события.

+

Проверять секретный ключ нет необходимости, за это отвечает метод класса confirmation_secret. Перейдём же к самому интересному... Давайте подключим двух ботов и сделаем для них разные ответы, чтобы отчётливее продемонстрировать возможности ботов:

+

К нашему методу event мы добавим код, который мы хотим реализовать. Далее, мы ниже создаём объект класса bot и добавляем туда объекты класса group, которые будут являться объектами групп, к которым мы подключили callback. Затем, запускаем нашего бота

+
import vk_callback
+import vk_api
+import random
+
+
+class bot(vk_callback.server):
+    def event(self, group_obj, Event):
+        bot_1 = vk_api.VkApi(token='***').get_api()
+        bot_2 = vk_api.VkApi(token='***').get_api()
+        if Event.type == 'message_new':
+            if group_obj.id == 12345678:
+                bot_1.messages.send(peer_id=Event.object['peer_id'], random_id=random.randint(0, 999999), message='hello')
+            else:
+                bot_2.messages.send(peer_id=Event.object['peer_id'], random_id=random.randint(0, 999999), message='hi')
+
+
+bot = bot(host='website.ru', groups=[
+    vk_callback.group(12345678, return_str="11693324", secret_key="secret_key_here"),
+    vk_callback.group(87654321, return_str="1af47ed9", secret_key="secret_key_here")
+], port=8080)
+
+bot.start()
+

Как подключить callback

+

Подключить callback сервер к вашей группе очень просто! Для начала, заходим в настройки группы в раздел "работа с API", затем заходим в раздел callback

+
+ + +
+

Затем, нам нужно выбрать в настройках события, которые мы будем обрабатывать

+
+ +
+

Отлично! Теперь мы можем приступить к подключению нашего сервера. Для начала, скопируем что должен вернуть при подтверждении бот и его секретный ключ и вставим в код нашей программы, также скинем в объект айди нашей группы.

+
+
+

Запускаем сервер, в графе адреса заполняем адрес нашего сервера в формате crthst::rpl/айди_группы

+
+

Жмём подтвердить. Поздравляем, бот подключен!

+
+ + \ No newline at end of file