47 lines
1.2 KiB
PHP
47 lines
1.2 KiB
PHP
|
<?php
|
||
|
error_reporting(E_ALL ^ E_DEPRECATED);
|
||
|
ini_set('memory_limit', '128M');
|
||
|
|
||
|
include __DIR__.'/vendor/autoload.php';
|
||
|
|
||
|
use \Monolog\Logger;
|
||
|
use \Monolog\Handler\ErrorLogHandler;
|
||
|
use \Monolog\Handler\RotatingFileHandler;
|
||
|
|
||
|
use Discord\Discord;
|
||
|
use Discord\WebSockets\Intents;
|
||
|
use Discord\WebSockets\Event;
|
||
|
use Discord\Parts\WebSockets\VoiceStateUpdate;
|
||
|
|
||
|
use VoiceState\Bot;
|
||
|
|
||
|
$botToken = getenv("BOT_TOKEN");
|
||
|
if (empty($botToken)) {
|
||
|
die("Missing BOT_TOKEN");
|
||
|
}
|
||
|
|
||
|
$logger = new Logger(Bot::NAME);
|
||
|
$logger->pushHandler(new ErrorLogHandler(ErrorLogHandler::SAPI, Logger::INFO));
|
||
|
$logger->pushHandler(new RotatingFileHandler(__DIR__ . '/logs/' . Bot::NAME . ".log", Bot::MAX_LOG_FILE_COUNT, Logger::WARNING));
|
||
|
|
||
|
$bot = new Bot(__DIR__ . '/public/states/', $logger);
|
||
|
|
||
|
$discord = new Discord([
|
||
|
'token' => $botToken,
|
||
|
'intents' => [
|
||
|
Intents::GUILD_VOICE_STATES
|
||
|
],
|
||
|
'logger' => $logger
|
||
|
]);
|
||
|
|
||
|
$discord->on('ready', function (Discord $discord) use ($logger) {
|
||
|
$logger->info("Bot is ready!");
|
||
|
});
|
||
|
|
||
|
$discord->on(Event::VOICE_STATE_UPDATE, function (VoiceStateUpdate $state, Discord $discord, $oldstate) use ($bot, $logger) {
|
||
|
$logger->info('Event: ' . Event::VOICE_STATE_UPDATE);
|
||
|
$bot->updateVoiceState($state);
|
||
|
});
|
||
|
|
||
|
$discord->run();
|