VKCallAdmin

umk0

Скриптер
Пользователь
Регистрация
24 Дек 2017
Сообщения
36
Симпатии
20
Автор: uMk0
Версия: 0.1
Требования
  • AMXX 1.9.0
Честно проверял только на 1.9.0 про другие версии не в курсе писал для себя.

Описание: Данный плагин дает возможность отправлять уведомление в беседу админов вк. К примеру на сервер зашел читер, а вотебаном не получается забанить, и админов нет. Достаточно написать в чат команду которую вы установите и сообщение. Плагин через вк апи отправит от имени группы сообщение в беседу которую вы настроите.
Acces Token нужен для того чтобы плагин мог работать с вк апи.
Далее по этапно я покажу как его получить.
1. Зайдите в настройки группы в вк:
step1.png
2. Откройте страницу Настройки->Работа с API. После нажмите кнопку "Создать ключ"
step2.png
3. Выберите доступ "Разрешить приложению доступ к сообщениям сообщества", после нажмите кнопку "Создать"
step3.png
4. Подтвердите действие через телефон если нужно его подтвердить. Далее вы увидите свой Access Token.
step4.png
Запишите его себе в блокнот.
Если у вас уже есть беседа то пропускаем этот пункт 1. идем к следующему.
1. Заходим настройки группы -> Беседы. Далее создаем беседу.
step5.png
2. После создания беседы нужно получить ее ID по умолчанию у первой беседы ID = 1. Но лучше проверить.
Нажимаем правой кнопкой мыши по названию нужной беседы. Далее в контекстном меню выберете "Исследовать элемент"
step6.png
3. В исходном коде находим ID беседы как указано на скриншоте ниже
step7.png
Красным выделен ID беседы у меня это 1.
В коде вы сможете найти все настройки плагина они все прокомментированные так что думаю справитесь!
vkcalladmin.sma:
#define FLAG ADMIN_BAN    //По этому флагу будет идти проверка на наличие админа на сервере
#define TOKEN "*************************************************************************************"//Токен группы
#define COMMAND "/calladmin" //На какую команду в чате реагирует помойка написанная ниже :(
new tmpId;
static id_chat,is_check_admin,message_type;
enum dataStruct { curl_slist: linkedList };
new g_typed[192], g_name[32];
public plugin_init(){
    register_plugin("VK Call Admin", "0.1", "uMk0")
    register_dictionary("vkcalladmin.txt");
    register_clcmd("say", "callVk")
    register_clcmd("say_team", "callVk")
    register_cvar("vca_message", "1")//Тип сообщения в вк 0 - будет только уведомление 1 - будет уведомление + что написал пользователь после команды
    register_cvar("vca_id_chat", "1")//ID чата сообщества
    register_cvar("vca_check_admin", "1")//Проверять ли наличие админа на сервере 0/1 = Нет/Да
    id_chat =             get_cvar_num("vca_id_chat")
    is_check_admin =     get_cvar_num("vca_check_admin")
    message_type =         get_cvar_num("vca_message")
}
После настроек плагина компилируете и пользуетесь.
1. Как выглядят сообщения в вк.
img_vk.png
Так выглядит тип уведомления 1. Если тип 0, то будет только стандартное сообщение без текста игрока. Если установлен тип 1, но сообщения игрока нет, то отправится как тип 0.
2. Отправка сообщения.
Screenshot_4.png
3. Ответ плагина.
Screenshot_5.png

Прошу сильно говно не поливать я очень редко пишу плагины и в основном для себя
 

Вложения

backedtracked

Пользователь
Регистрация
26 Мар 2019
Сообщения
57
Симпатии
3
А можно подключить подключить другую беседу, независимо от группы?
 

urpok

Пользователь
Регистрация
16 Июл 2017
Сообщения
46
Симпатии
6
Пол
Мужской
Есть ли или же будет вариант, непосредственно из Беседы группы, отвечать в обратку на сервер ?
Я так понимаю, с сервера в Беседу можно, а вот наоборот ?
Спасибо.
 

urpok

Пользователь
Регистрация
16 Июл 2017
Сообщения
46
Симпатии
6
Пол
Мужской
Что-то не то, чат на сервере реагирует, а вот в Беседу не передаёт...
Кто-нибудь ставил себе, помогите с настройкой пожалуйста.
 

Rey

Пользователь
Регистрация
27 Ноя 2018
Сообщения
58
Симпатии
50
Что-то не то, чат на сервере реагирует, а вот в Беседу не передаёт...
Кто-нибудь ставил себе, помогите с настройкой пожалуйста.
Скорей всего ид беседы не указал. У меня без проблем завелось все
 

urpok

Пользователь
Регистрация
16 Июл 2017
Сообщения
46
Симпатии
6
Пол
Мужской
Скорей всего ид беседы не указал. У меня без проблем завелось все
Странно, посмотрел ID беседы, у меня цифра "2" (register_cvar("vca_id_chat", "2"))
Мне вот интересно, это все настройки "Acces Token" или же чего-то не дописано ? Зачем мне этот ключ, записывать в Блокнот, если я его и так могу посмотреть...
Сможешь мне помочь, пожалуйста ? В ЛС. Спасибо.
 

angrybot

Администратор
Модератор
Разработчик
Постоялец
Пользователь
Дизайнер
Регистрация
15 Дек 2019
Сообщения
166
Симпатии
60
Не сможет.
1602268407100.png

Это для кого оставлено? Выделенные линии не видно?
 

urpok

Пользователь
Регистрация
16 Июл 2017
Сообщения
46
Симпатии
6
Пол
Мужской
Учитесь читать вместо провокаций.
Del
 

urpok

Пользователь
Регистрация
16 Июл 2017
Сообщения
46
Симпатии
6
Пол
Мужской
Заинтересовал данный вариант.

Всё же спрошу...
Есть ли вариант, сделать обратную связь ?
Т.е мы умеем писать с игрового сервера, через чат в Беседу группы ВКонтакте, правильно ?

Возможно ли запилить, обратную связь ? Писать из Беседы, обратно на сервер ?
Если да, кто-то может это реализовать ?
Заранее, спасибо за ответ.

P.s Для особо впечатлительных и "правильных", я разобрался, всё работает.
Спасибо за помощь и то, как вы это предоставили...
 

angrybot

Администратор
Модератор
Разработчик
Постоялец
Пользователь
Дизайнер
Регистрация
15 Дек 2019
Сообщения
166
Симпатии
60
Longpoll называется.
Тот кто разбирается в API Vk и умеет правильно писать подобные сервисы на павне.
Это будет не дешево.
 

fantom

Разработчик
Регистрация
11 Июн 2017
Сообщения
426
Симпатии
293
Пол
Мужской
Возможно ли запилить, обратную связь ? Писать из Беседы, обратно на сервер ?
Если да, кто-то может это реализовать ?
Заранее, спасибо за ответ.
Да. Но тех кто умеет это сделать правильно мало.
 

umk0

Скриптер
Пользователь
Регистрация
24 Дек 2017
Сообщения
36
Симпатии
20
Заинтересовал данный вариант.

Всё же спрошу...
Есть ли вариант, сделать обратную связь ?
Т.е мы умеем писать с игрового сервера, через чат в Беседу группы ВКонтакте, правильно ?

Возможно ли запилить, обратную связь ? Писать из Беседы, обратно на сервер ?
Если да, кто-то может это реализовать ?
Заранее, спасибо за ответ.

P.s Для особо впечатлительных и "правильных", я разобрался, всё работает.
Спасибо за помощь и то, как вы это предоставили...
Можно это реализовать на php через вебсокеты (если они поддерживаются) или же rcon запроса
 

angrybot

Администратор
Модератор
Разработчик
Постоялец
Пользователь
Дизайнер
Регистрация
15 Дек 2019
Сообщения
166
Симпатии
60
umk0, Это callback api.
 

fantom

Разработчик
Регистрация
11 Июн 2017
Сообщения
426
Симпатии
293
Пол
Мужской
angrybot, брось это дело обьяснять. Человек не умеет. И врят ли научится.
 

umk0

Скриптер
Пользователь
Регистрация
24 Дек 2017
Сообщения
36
Симпатии
20
Я это и имел в виду.
angrybot, брось это дело обьяснять. Человек не умеет. И врят ли научится.
Что я не так сказал?)
Зачем висеть на longpull'e если можно юзать обычный callback api?
 

fantom

Разработчик
Регистрация
11 Июн 2017
Сообщения
426
Симпатии
293
Пол
Мужской
umk0, real time не? Плюс для чего сокеты если есть grip и curl модули.. и ими можно напрямую к вк обращатся.
 

angrybot

Администратор
Модератор
Разработчик
Постоялец
Пользователь
Дизайнер
Регистрация
15 Дек 2019
Сообщения
166
Симпатии
60

umk0

Скриптер
Пользователь
Регистрация
24 Дек 2017
Сообщения
36
Симпатии
20
Если ты не видишь преимущество Longpoll'а в данном случае перед callback api - ну не знаю.
Не знаю как по мне лишняя нагрузка на сервер это моё личное мнение. Я предлагаю не разводить холивары какой метод лучше для общения с вк апи. Оба эти метода рабочие.
umk0, real time не? Плюс для чего сокеты если есть grip и curl модули.. и ими можно напрямую к вк обращатся.
Согласен полностью. Но я пишу плагины по фану :). Не надеюсь получить какого либо признания или ещё чего-либо.
 

angrybot

Администратор
Модератор
Разработчик
Постоялец
Пользователь
Дизайнер
Регистрация
15 Дек 2019
Сообщения
166
Симпатии
60
Написав плагин по 'фану' ты порождаешь кучу таких же скриптеров, пользователей, которые по фану затем спрашивают почему у них сервера зависают и падают.

Не знаю как по мне лишняя нагрузка на сервер это моё личное мнение.
Какая нагрузка? На чём основано мнение?
Нет, не оба, допустим у меня нет web сервера, форум ведь посвящен в основном игровым серверам, как твой callback api отработает? Правильно, не сможет, 30% пользователей в этой сфере даже бан-листа в сети не имеют, либо имеют лишь арендованную базу данных. И это лишь один минус, это еще не описывая проблемы processing'а с callback api + rcon.
 
Сверху Снизу