redbeed/openoverlay

您的自托管服务,用于Twitch基于Web的覆盖和Laravel自定义机器人。

0.7.0 2022-01-05 15:43 UTC

README

Latest Version on Packagist Total Downloads

OpenOverlay是一个自托管服务,用于您的基于Web的Twitch覆盖和机器人。此Laravel包可以帮助您在直播时接收所有Twitch事件动作,并在您的覆盖上显示它们。您还可以使用简单和高级命令开发自己的机器人。

如果您想从零开始创建覆盖,我们有一个示例项目。独立版本:redbeed/OpenOverlay-Standalone

安装

通过Composer

$ composer require redbeed/openoverlay

配置

添加OpenOverlay的laravel配置

php artisan vendor:publish --provider="Redbeed\OpenOverlay\OpenOverlayServiceProvider"

迁移用户连接和Twitch事件表

php artisan migrate

将配置添加到 config/services.php

'twitch' => [    
  'client_id' => env('TWITCH_CLIENT_ID'),  
  'client_secret' => env('TWITCH_CLIENT_SECRET'),  
  'redirect' => env('TWITCH_REDIRECT_URI') 
],

感谢 SocialiteProviders/Twitch

添加ENV键

TWITCH_CLIENT_ID=
TWITCH_CLIENT_SECRET=

OVERLAY_SECRET=
OVERLAY_TWITCH_APP_TOKEN=

TWITCH_REDIRECT_URI=${APP_URL}/connection/callback

UserOpenOverlay 特性添加到 User.php

<?php

namespace App\Models;

...
use \Redbeed\OpenOverlay\Models\User\UserOpenOverlay;

class User extends Authenticatable
{
    use ...
    use UserOpenOverlay;

将回调URL添加到您的Twitch应用

${APP_URL}/connection/callback
${APP_URL}/connection/app-token/callback
${APP_URL}/connection/bot/callback

生成APP令牌

要订阅Twitch-EventSub,您需要生成一个App-Token。

  1. 首先,您需要在openoverlay.php配置中启用“app token routes”。

    return [
        ...
        'webhook' => [
            'twitch' => [
                'app_token' => [
                    'regenerate' => true,
                ],
            ]
        ]
        ...

    regenerate设置为true

  2. 使用您的laravel应用打开 ${APP_URL}/connection/app-token/redirect

  3. 使用您的Twitch应用登录到您的Twitch开发者帐户。

  4. 复制App-Token并将其用作OVERLAY_TWITCH_APP_TOKEN ENV值的值。

添加机器人

要添加机器人,您需要将您的应用与机器人Twitch帐户链接。

  1. 使用您的laravel应用打开 ${APP_URL}/connection/bot/redirect
  2. 使用您的Twitch应用登录到您的Twitch机器人帐户。
  3. 重定向后,您需要手动将您的laravel帐户与机器人连接。
  4. 打开您的数据库表 "bot_connections" 并将您的机器人与您的用户连接。
  5. 重启Bot Artisan机器人

生成密钥

为了验证每个Twitch调用,您需要为您的应用生成一个密钥。如果您更改了OVERLAY_SECRET,则需要重新订阅每个事件。

php artisan overlay:secret

发送伪事件

在开发或测试覆盖时,您可以发送“伪”事件。

php artisan {TwitchUserId} {EventType}
php artisan 1337 channel.follow

变更日志

请参阅changelog以获取有关最近更改的更多信息。

测试

$ composer test

贡献

请参阅contributing.md以获取详细信息和一个待办事项列表。

安全

如果您发现任何与安全相关的问题,请通过作者电子邮件联系,而不是使用问题跟踪器。

致谢

许可证

许可证。有关更多信息,请参阅许可证文件