├── config-sample.php ├── .gitignore ├── composer.json ├── bot-php8.php ├── bot-php7.php └── README.md /config-sample.php: -------------------------------------------------------------------------------- 1 | setServerHostname('irc.chat.twitch.tv') 13 | ->setServerPort(6667) 14 | ->setPassword($password) 15 | ->setNickname($nickBot) 16 | ->setUsername($nickBot); 17 | 18 | $client = new \Phergie\Irc\Client\React\Client(); 19 | 20 | $client->on('connect.after.each', function ($connection, $write) { 21 | global $canal; 22 | $write->ircJoin($canal); 23 | $write->ircPrivmsg($canal, 'O bot novo chegou!'); 24 | }); 25 | 26 | $client->on('irc.received', function ($message, $write, $connection, $logger) { 27 | 28 | global $canal; 29 | 30 | if ($message['command'] == 'PRIVMSG') { 31 | 32 | if (str_starts_with($message['params']['text'],'!botnovo')) { 33 | 34 | $write->ircPrivmsg($canal, 'O bot novo chegou!'); 35 | 36 | } 37 | 38 | } 39 | 40 | }); 41 | 42 | $client->run($connection); -------------------------------------------------------------------------------- /bot-php7.php: -------------------------------------------------------------------------------- 1 | setServerHostname('irc.chat.twitch.tv') 13 | ->setServerPort(6667) 14 | ->setPassword($password) 15 | ->setNickname($seuBot) 16 | ->setUsername($seuBot); 17 | 18 | $client = new \Phergie\Irc\Client\React\Client(); 19 | 20 | $client->on('connect.after.each', function ($connection, $write) { 21 | global $seuCanal; 22 | $write->ircJoin($seuCanal); 23 | $write->ircPrivmsg($seuCanal, 'O bot novo chegou!'); 24 | }); 25 | 26 | $client->on('irc.received', function ($message, $write, $connection, $logger) { 27 | 28 | global $seuCanal; 29 | 30 | if ($message['command'] == 'PRIVMSG') { 31 | 32 | if ((strpos(strtolower($message['params']['text']), '!novobot') === 0)) { 33 | 34 | $write->ircPrivmsg($seuCanal, 'O bot novo chegou!'); //substituir pelo nome da sua live exemplo #pokemaobr 35 | 36 | } 37 | 38 | } 39 | 40 | }); 41 | 42 | $client->run($connection); -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Twitch IRC Chatbot Skeleton 2 | 3 | > Base do pokemaobrbot na Twitch do [pokemaobr](https://twitch.tv/pokemaobr) 4 | 5 | ## Instalação 6 | 7 | O método de instalação indicado é pelo [composer](http://getcomposer.org). O ideal é usar o PHP 7.3 ou superior. 8 | 9 | ``` 10 | composer install 11 | ``` 12 | Você pode criar uma conta nova para seu bot na [twitch](https://twitch.tv). 13 | 14 | Você deve gerar uma chave oAuth2 para a conta criada do seu bot da twitch. Com a conta do bot da twitch logado, clique [aqui](https://twitchapps.com/tmi/) 15 | 16 | 17 | Depois disso, você deverá renomear o arquivo config-sample.php para config.php. Ajustando a variável desse jeito: 18 | 19 | ``` 20 | $password = 'oauth:jsdahfasdhf98457934857-234'; 21 | ``` 22 | 23 | Onde a parte depois de **oauth:** é a chave gerada. 24 | 25 | Existem 2 arquivos de sample de bot, um para ser usado caso você utilize PHP 7.3 (bot-php7.php) ou superior e outro para PHP 8.0 (bot-php8.php). 26 | 27 | Nesses arquivos você deve alterar os valores das variáveis: 28 | 29 | ``` 30 | $nick = 'nick do seu bot'; 31 | $canal = '#seucanal'; 32 | ``` 33 | 34 | Após isso é só você chamar o bot no seu terminal. 35 | 36 | ``` 37 | php bot-php7.php 38 | ``` 39 | 40 | ou 41 | 42 | ``` 43 | php bot-php8.php 44 | ``` 45 | 46 | ## Lives 47 | 48 | Fazemos lives de código e entretenimento para devs em: [twitch.tv/pokemaobr](https://twitch.tv/pokemaobr) 49 | 50 | 51 | ## Agradecimentos 52 | 53 | Agradecemos toda a galera da live que ajudou na implementação, divulgação e utilização desse bot. Só alegria. --------------------------------------------------------------------------------