# Карма-бот

Карма-бот позволяет мотивировать ваших пользователей, например, помогать друг другу, находить ответы на какие-то вопросы и т.п.&#x20;

Конечно, вы всегда можете премировать отличившихся пользователей самостоятельно, например, позволяя купить ваш продукт со скидкой, но когда они в благодарность за помощь могут получить скидку, то это приятно.&#x20;

В примере ниже мы соберем как раз такого бота-котика, который будет выдавать рыбку за помощь. Куда пользователи могут потратить игровую валюту «рыбки» решите сами, например, на оплату доступа к вашему продукту.

<figure><img src="https://2249269224-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FLmohxxJlESle3zPCwerN%2Fuploads%2FRV9HyMKtCYjcS47awZYC%2Fimage.png?alt=media&#x26;token=5053b0df-68bb-4e91-8f89-2f066b5b832d" alt=""><figcaption><p>Пример работы кармабота</p></figcaption></figure>

> Скачать готовую схему можно тут:\
> 💾 [Cкачать схему](https://disk.yandex.ru/d/jnSZPJ4A_428CQ)\
> 🔧 [Инструкция по установке схем](../../docs/automation/graph/import-i-eksport-skhem)

## Инструкция ручной сборки

Перед началом убедитесь, что интегрировали ваше сообщество ВКонтакте или бота в Telegram с сервисом Multy.AI по этим инструкциям:

* ​[Интеграция с ВКонтакте](https://help.multy.ai/home/docs/settings/vkontakte)​
* ​[Интеграция с Telegram](https://help.multy.ai/home/docs/settings/telegram)​

И добавили бота в беседу на выбранных платформах по данным инструкциям:

* ​[Как создать чат / группу в Telegram](https://help.multy.ai/home/docs/settings/telegram#kak-sozdat-chat-gruppu-v-telegram)​
* ​[Как добавить бота в Telegram-чат / группу и выдать ему доступ](https://help.multy.ai/home/docs/settings/telegram#kak-dobavit-bota-v-telegram-chat-gruppu-i-vydat-emu-dostup)​
* ​[Как добавить бота в беседу Вконтакте ](https://help.multy.ai/home/docs/settings/vkontakte)​

Интегрировали? Отлично, идем дальше



**Важно!** В схеме пример карма-бота для Telegram, если нужно для ВКонтакте достаточно заменить с действии  **«Найти пользователя по значению поля»** выбрать переключатель **«ВКонтакте ID»** и если необходимо сменить тексты на кликабельные, согласно [инструкции](https://help.multy.ai/home/docs/automation/variables/context).

### Создание игровой валюты <a href="#sozdanie-igrovoi-valyuty" id="sozdanie-igrovoi-valyuty"></a>

Для создания игровой валюты в своем проекте открываем раздел **«Геймификация» -> «Валюты»** и кликаем справа кнопку «Создать»

<figure><img src="https://2482895137-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FuD27InU15TsePHnaCF2z%2Fuploads%2F0gDDQxvdQr67rlWfdUqE%2Fimage.png?alt=media&#x26;token=21470840-14a2-42b9-92e7-b61022f9516c" alt=""><figcaption><p>Создаем новую валюту</p></figcaption></figure>

Здесь все просто:

* 1\) Загружаете изображение с рыбками.
* 2\) В поле **«Название валюты»** пишете **«Рыбки»**.
* 3\) В поле **«Системное имя»** пишете **andreygorgamer\_fish\_rating (это важно, иначе готовая схема не сработает).** Если не будете использовать готовую схему, то рекомендуется вписать в это поле ваш ник и, например, fish. Пример: **Vasya\_Pupkin\_Fish**
* 4\) В Поле **«Доступ на чтение: просмотр значения»** ставим переключатель **«Все пользователи»**

<figure><img src="https://2482895137-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FuD27InU15TsePHnaCF2z%2Fuploads%2FoHgLUndNL4xiD2vDk9H9%2Fimage.png?alt=media&#x26;token=13a1c97f-0386-4f27-aaef-cd6661b61b05" alt=""><figcaption><p>Создание игровой валюты</p></figcaption></figure>

Не забудьте сохранить.

### Рассмотрение блок схемы. <a href="#rassmotrenie-blok-skhemy." id="rassmotrenie-blok-skhemy."></a>

В примере ставим переключатель ИЛИ 1) Создаем событие «**Входящее сообщение в чате**» с условием «**Текст сообщения**» и текстом содержащим **благодар спасибо спс** (разделенные Enter'oм)

**Важно!** Multy одинаково отреагирует и на ввод ключевика благодарность и на БЛАГОДАРЮ, т.к. мы будем делать нерегистрозависимый вариант.

Если у вас подключено несколько сообществ ВКонтакте, то рекомендуем добавить еще одно условие: **«Чат, где произошло событие»** и выбрать ваш чат.&#x20;

Для ВКонтакте соответственно делаете аналогичный блок. Либо оставляете без условия и тогда работает везде, где добавлен бот.&#x20;

Добавляем еще событие **«Исправлено сообщение в чате**» с условием аналогичным выше.

Для добавления жмем синий плюс и в контейнере выбираем событие.

<figure><img src="https://2482895137-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FuD27InU15TsePHnaCF2z%2Fuploads%2F5OFSeeLKG7rO733uJHBH%2Fimage.png?alt=media&#x26;token=7095dbc8-e7f5-4c50-a2f1-ce096433d098" alt=""><figcaption><p>Пример события</p></figcaption></figure>

2\) Добавляем условие **«Текстовая переменная»** `{var:platform.author.profile_type}` равна **user** т.е. пользователь которого благодарят не бот.

<figure><img src="https://2249269224-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FLmohxxJlESle3zPCwerN%2Fuploads%2F2TrZmsMXYnsgd3IhQc7u%2Fimage.png?alt=media&#x26;token=f5185b00-63f8-4511-b35f-a9315e3ed6c4" alt=""><figcaption><p>Условие для проверки, что благодарят не бота</p></figcaption></figure>

​3) Добавляем условие **«Числовая переменная»** `{var:platform.author.id}` _не_ равна `{var:platform.user.id}` т.е. пользователь не благодарит сам себя.

<figure><img src="https://2249269224-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FLmohxxJlESle3zPCwerN%2Fuploads%2FjOoMW9JKkUJjFDaffQKR%2Fimage.png?alt=media&#x26;token=82bc694a-9505-49ce-accb-7c1658848bdb" alt=""><figcaption><p>Условие для проверки, чтобы пользователь не хитрил.</p></figcaption></figure>

4\) Из выхода «Да» создаем контейнер- действие.&#x20;

* Добавляем действие **«Найти пользователя по значению поля»** ставим галочку **«Заменить текущего пользователя»**, ставим переключатель _«Telegram ID»_ со значением _{var:platform.author.id}_ т.е. меняем выполнение схемы для пользователя которого благодарят

<figure><img src="https://2249269224-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FLmohxxJlESle3zPCwerN%2Fuploads%2Fey5Ew4EzLfwePkImPZl5%2Fimage.png?alt=media&#x26;token=ba22968f-d8c2-4d63-8472-7b19b9e87c2e" alt=""><figcaption><p>Меняем пользователя в схеме.</p></figcaption></figure>

* Добавляем действие **«Изменить баланс валюты»** выбираем свой список валюты, ставим переключатель _«Увеличить»_ на _1_
* Добавляем действие **«Получить количество валюты»** выбираем свой список валюты, и сохраняем значение в переменную _«_&#x66;is&#x68;_»._

<figure><img src="https://2249269224-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FLmohxxJlESle3zPCwerN%2Fuploads%2FGgeGH8JHIHmKYcCXwUap%2Fimage.png?alt=media&#x26;token=a3a48ab9-8e01-495a-bdee-fe771914606b" alt=""><figcaption><p>Изменяем и получаем количество валюты</p></figcaption></figure>

* Добавляем действие **«Сменить чат для следующих действий»** и ставим галочку **«Получить значение из переменной»** со значением `{var:platform.chat.id}` которое содержит ID чата

<figure><img src="https://2249269224-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FLmohxxJlESle3zPCwerN%2Fuploads%2FQh0BYiDxgMYodC6FXfBP%2Fimage.png?alt=media&#x26;token=656645c4-2361-4045-b996-0eb3dd3deba3" alt=""><figcaption><p>Переключаем на беседу</p></figcaption></figure>

* Добавляем «Сообщение» с текстом:

> `​{var:platform.author.first_name} {var:platform.author.last_name} у тебя {var:fish} 🐟`
>
>

<figure><img src="https://2249269224-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FLmohxxJlESle3zPCwerN%2Fuploads%2FMXWNQZqqjKMtAIrdt34e%2Fimage.png?alt=media&#x26;token=355dfb7c-82bb-4d9c-817f-9272660aa73a" alt=""><figcaption><p>Отправляем сообщение в чат</p></figcaption></figure>

И соединяем действия друг с другом и блоком **«Да»**

<figure><img src="https://2482895137-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FuD27InU15TsePHnaCF2z%2Fuploads%2FA4963lA9aKnkUKiDOV9c%2Fimage.png?alt=media&#x26;token=8144e45b-ba61-4a7f-aa60-e864101d1e3b" alt=""><figcaption><p>Пример действий</p></figcaption></figure>

Аналогичный блок-сообщение с текстом:

> ​{var:platform.author.first\_name} {var:platform.author.last\_name}, нельзя кушать много 🐟, делись с друзьями!
>
> Соединяем с условием **«Нет»​**

<figure><img src="https://2482895137-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FuD27InU15TsePHnaCF2z%2Fuploads%2FRnoizjdbKxxZC0nv6SZs%2Fimage.png?alt=media&#x26;token=c82ec011-557c-40dc-ad8a-d6d34d666fb4" alt=""><figcaption><p>Пример отрицательного условия</p></figcaption></figure>

<figure><img src="https://2482895137-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FuD27InU15TsePHnaCF2z%2Fuploads%2FeWckiQA9mzrc1KFMcHgM%2Fimage.png?alt=media&#x26;token=4d0a3ee5-a085-493c-ab05-5d298c94d0ad" alt=""><figcaption><p>Пример работы схемы</p></figcaption></figure>

Готово!

### Команда для проверки баланса <a href="#komanda-dlya-proverki-balansa" id="komanda-dlya-proverki-balansa"></a>

В примере ставим переключатель ИЛИ

1\) Создаем событие «**Входящее сообщение в чате**» с условием «**Текст сообщения**» и текстом равным _/fish_

_2)_ Создаем событие «**Входящее сообщение** » с условием аналогичным выше. Это сделано для того, чтобы пользователь мог запросить баланс, где угодно.

<figure><img src="https://2482895137-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FuD27InU15TsePHnaCF2z%2Fuploads%2Fmuv0YMgpCFjpJcgi5TlT%2Fimage.png?alt=media&#x26;token=db910865-4e1f-44aa-8f99-6179edd52f8c" alt=""><figcaption><p>Пример события</p></figcaption></figure>

* Добавляем действие **«Получить количество валюты»** выбираем свой список валюты, и сохраняем значение в переменную _«_&#x66;is&#x68;_»._

<figure><img src="https://2249269224-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FLmohxxJlESle3zPCwerN%2Fuploads%2FtrwfQiCDGIzA5WEeEbZ0%2Fimage.png?alt=media&#x26;token=0832a472-7425-4d47-8574-f11d447c431b" alt=""><figcaption><p>Получаем количество валюты</p></figcaption></figure>

* Добавляем «Сообщение» с текстом:

> `​`[{var:platform.user.first\_name} {var:platform.user.last\_name}](tg://user?id={var:platform.user.id}) {var:result.value} 🐟!
>
>

<figure><img src="https://2249269224-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FLmohxxJlESle3zPCwerN%2Fuploads%2FhRb8IZNZmc6l8qktKaeY%2Fimage.png?alt=media&#x26;token=511adba3-6b8c-43ed-99cd-00efb3a111a5" alt=""><figcaption><p>Получаем количество рыбы. Если нужны клибальные ссылки, копируйте текст</p></figcaption></figure>

И соединяем все в блоки в цепочку.
