Создание бота на VDS с панелью fastpanel - на DiscordPHP

Моё погружение в создании бота на php, для дискорда.
1. fastpanel - Создать пользователя (Пользователи)
2. fastpanel - Установить composer, php81 (Настройки - Приложения)

3. Заходите в консоль, под данными пользователя, которые создали!
4. Введите команду: (установка библиотеки для создания бота)
composer require team-reflex/discord-php
5. Загрузите php файл с ботом: (Используйте FileZilla для загрузки файлов - ссылка на пример бота ниже)
6. Запустите бота командой в консоли:
php bot.php // bot это название вашего файла с кодом бота
7. Вы можете просмотреть разные функции в документации - Ссылка Ссылка 2

В моём файле, собраны готовые примеры функций:
Ответ на сообщение
Отправка сообщения
Добавление реакции
Отслеживание реакции
Действие на конкретную реакцию в нужном сообщении
Выдача роли
Изменение ника игрока
Использование базы данных через RedBeanPHP
Получение api запросов с сайтов
Получение данных о пользователе, который был указан в сообщении.
Команда отключения бота
Отправка сообщения с кнопкой и ответом на её нажатие.

Функции, про которые мне не объяснили: (то что, пригодилось бы)
Стилизация сообщения
Отправка картинок
Отправка сообщения в лс

О, ещё нужно на сайте дискорда, получить api ключ, для своего бота.
1. Зайти на сайт дискорда discord
2. Создаёте бота (New Application)
3. Переходите в раздел BOT (Выбрав своего бота)
4. Нажимаете на кнопку Add Bot
5. Включаете права (на 1 строчке, 4, 5)
6.Нажимаете на кнопку Reset Token - копируете свой токен, вставляете его в php файле бота!
7. Приглашаете бота на свой сервер, выставив все нужные вам права. (внизу страницы)

Я потратил 2 дня, чтобы сделать и узнать про эти примеры. 
Поддержи материально, если благодарен за мою проделанную работу - Donationalerts
(Существование сайта в интернете, требует тратить несколько тысяч, каждый год (плата за хостинг, домен))

Пароль: bicbai.ru

PHP - Заметки

Для очистки не нужных символов в тексте.
                $txtup = $info['description'];
                $txtup = preg_replace("/\[character=([^\]]+)\](.+?)\[\/character\]/siu", "$2", $txtup);//<a href='$1'>$2</a>
                $txtup = preg_replace("/\[url=([^\]]+)\](.+?)\[\/url\]/siu", "$2", $txtup);
                $txtup = preg_replace("/\[anime=([^\]]+)\](.+?)\[\/anime\]/siu", "$2", $txtup);
                $txtup = preg_replace("/\[person=([^\]]+)\](.+?)\[\/person\]/siu", "$2", $txtup);
                $txtup = preg_replace("/\[i\](.+?)\[\/i\]/siu", "$1", $txtup);//убирает [i]
                $txtup = preg_replace("/\[manga=([^\]]+)\](.+?)\[\/manga\]/siu", "$2", $txtup);
                $txtup = preg_replace("/\[b\](.+?)\[\/b\]/siu", "$1", $txtup);//убирает [b]

Для апи запроса:
                $jikanurl = "https://api.jikan.moe/v4/anime/{$postup['shikimori_id']}";
                $apijikan = file_get_contents($jikanurl);
                $apijikan = json_decode($apijikan, true);
                $apijikanepisodes = $apijikan['data']['episodes'];//всего серий
                $apijikantitles = $apijikan['data']['titles'][0]['title'];//название


Автопостинг для вконтакте по токену пользователя

Нашел в интернете рабочий скрипт для авто постинга в vk

Работает без MySQL на файлах.
Добавляет посты в несколько групп. Через заданный промежуток времени.
Рандомизирует текст и картинки при публикации на стенке.
Можно поставить на cron и будет работать автоматический.

Исходник скилла для Маруси на php - для поиска знакомств!

Исходник для скилла Маруси, в котором используется подключение к базе данных через RedBeanPHP! Скрипт был сделан как дополнение для бота вконтакте! В скилле используется база данных, чтобы выводить случайных людей, которые были добавлены в базу!
Если что модерацию он не прошел!

Инструкция
Открыть: db.php - Указать данные для подключения к базе дынных!

Создание навыка:
Создайте скилл для Маруси https://vk.com/editapp?act=create 

Картинки в навыке:
Их нужно загружать в приложение которое вы создали. Вам будет выдан ид этой картинки!

Тестирование навыка:
Нужно войти через свой аккаунт вконтакте на котором вы создали приложение.
Для запуска своего навыка СКАЖИТЕ - Запусти навык "Название вашего навыка"

Исходник скилла для Маруси на php

Простой исходник для скилла Маруси, в котором используется просто текст в ответах! Если что модерацию он не прошел!

Инструкция
Создание навыка:
Создайте скилл для Маруси https://vk.com/editapp?act=create 

Картинки в навыке:
Их нужно загружать в приложение которое вы создали. Вам будет выдан ид этой картинки!

Тестирование навыка:
Нужно войти через свой аккаунт вконтакте на котором вы создали приложение.
Для запуска своего навыка СКАЖИТЕ - Запусти навык "Название вашего навыка"

Исходник бота для вконтакте на php, vk api 5.103

Исходник для дальнейшей разработки на версии vk api 5.103 В скрипте есть пример с кнопками!

Характеристики:
Работает на php
Версия API: 5.81
RedBeanPHP (Подключен но не используется)

Ключ доступа:
Права доступа: сообщения сообщества

Callback API - Типы событий
Сообщения:
Входящее сообщение

Исходник бота для вконтакте на php, vk api 5.81

Простой исходник бота с некоторыми командами, для дальнейшей разработки! В коде уже есть создание аккаунта и добавление беседы в базу!
Присутствует система рангов по количеству сообщений!

Характеристики:
Работает на php
Версия API: 5.81
RedBeanPHP

Ключ доступа:
Права доступа: сообщения сообщества

Callback API - Типы событий
Сообщения:
Входящее сообщение

Команды в боте:
перевод - Передать часть баланса другому
онлайн - Кто в онлайне
погода - Узнать погоду
top - Топ по количеству сообщений
media - Отправляет видео
art - Отправляет картинку
статус - Показывает информацию о вас
баланс - Ваш баланс
бот - Информация о боте
помощь - Команды для юзеров
---
setbalans - Выдать баланс
setadmin - Выдать админку
kick - Кикать из беседы

Подключение:
Открыть: db.php - Указать данные для подключения к базе дынных!
Открыть: VKBOT.php - Указать ключ доступа и проверочный код от сервера вк

В VKBOT.php файле
$is_admin - указать свой ид вк

Исходник для создания своего навыка в Марусе

Архив содержит php код для создания своего скилла в Марусе. Все что остаётся вам, это написать свою функцию.
Пару моментом по созданию навыка Маруси.

Создание навыка:
Создайте скилл для Маруси https://vk.com/editapp?act=create 

Картинки в навыке:
Их нужно загружать в приложение которое вы создали. Вам будет выдан ид этой картинки!

Тестирование навыка:
Нужно войти через свой аккаунт вконтакте на котором вы создали приложение.
Для запуска своего навыка СКАЖИТЕ - Запусти навык "Название вашего навыка"

Отправка POST запроса PHP

Любой код, которые отдаёт данные на сервер имеет при себе функцию отправки POST запросов. При помощь этого небольшого кода мы сможем отправить POST запрос. При этом вы можете настроить код под себя за считанные минуты.
<?php
 
//выбираем страницу на которую необходимо отправить запрос
$url = 'http://localhost/post.php';
//параметры которые необходимо передать
$params = array(
    'login' => 'WQP',
    'password' => 'qwerty',
    'rem' => 'y'
);
$result = file_get_contents($url, false, stream_context_create(array(
    'http' => array(
        'method'  => 'POST',
        'header'  => 'Content-type: application/x-www-form-urlencoded',
        'content' => http_build_query($params)
    )
)));
 
echo $result;?>

Скрипт проверки пользователя в сообществе ВКонтакте

Предназначен он для определения подписки на определенное сообщество любого пользователя, который уже был зарегистрирован в контакте. То есть, к примеру, Вася Пупкин, не был подписан на такое сообщество и скрипт автоматически выдает эту информацию, что он не подписан, аналогично скрипт выполняет действия при подписке на сообщество. Ну, а теперь, перейдем к самому коду скрипта.


По сути, обилие кода Вы тут не увидите, да это и не требуется. Но все же, давайте я Вам все объясню. Переменная $community - хранит в себе идентификатор сообщества, переменная $profile - хранит в себе идентификатор пользователя ВКонтакте (в данном случае, официальное сообщество RootHelp и идентификатор моей личной страницы).


Далее с помощью PHP функции file_get_contents получаем содержимое файла в виде строчки (про данную функцию я подробно рассказывал в другом уроке - Как подключить файл и вывести его содержимое) и отдаем ее функции json_decode, которая принимаем закодированную строку и преобразовывает ее в переменную $answer. 

<?php

$community = 30444828;

$profile = 7673899;

$answer = json_decode(file_get_contents("http://api.vk.com/method/groups.isMember?gid=".$community."&uid=".$profile));

if($answer->response == 1){  

echo"Мой аккаунт <a href='http://vk.com/id".$profile."' target='_blank'>".$profile."</a> и я уже подписан на новости сообщества!";

}

else{?>

<script type="text/jаvascript" src="//vk.com/js/api/openapi.js?121"></script>

<div id="vk_groups"></div>

<script type="text/jаvascript">

VK.Widgets.Group("vk_groups", {mode: 0, width: "800", height: "400", color1: 'FFFFFF', color2: '428BCA', color3: '428BCA'}, 30444828);

</script>

<?}

?>
После чего создаем условие, в котором при положительном ответе от сервера выдаем, что пользователь подписан на группу, при отрицательном показываем виджет API подписки на группу. Вот и все, скрипт проверки пользователя в сообществе ВКонтакте готов!

Место свободно!

Вы можете прорекламировать свой сервер на этом сайте. За небольшую плату!

Написать сообщение
Статистика
+0  
Новостей: 721
+0  
Комментариев: 148

Обновления new
  • Шаблон h3-utf8 для DLE
  • Шаблон подойдёт для аниме сайтов. Мой редизайн шаблона, выкладываю потому что удалил сайт. Шаблон под dle 13.1 Пароль: bicbai.ru
  • Шаблон kalabs.bicba-utf8 для DLE
  • Красивый шаблон для кино сайта либо аниме! В шаблоне использовались паблик плагины с сериями на новой странице.
  • Модуль генератор серий сериалов для dle 10.x-12.x - урезанная версия
  • Для добавления видео, доп поле типа "несколько строк", в который руками вставляете ссылки, каждую с новой строчки. Каждая серия сериала будет иметь
  • База сайта kino4 c шаблоном на DLE 11.0
  • Предлагаемая база данных с полным скриптом DLE 11.0 и шаблоном для онлайн кинотеатра. Конечно можно использовать весь архив скрипта движка с шаблоном
  • Animetron - адаптивный аниме шаблон для DLE
  • Animetron — восхитительный шаблон на тему аниме для DLE. Красивый дизайн с не менее красивыми эффектами не позволят быстро оторвать от него глаза.
Информация