码线红/twitch聊天机器人

使用Vue Skeleton制作的Twitch聊天机器人

安装: 0

依赖: 0

建议者: 0

安全: 0

星标: 4

关注者: 2

分支: 0

开放问题: 0

语言:JavaScript

类型:项目

1.16.0 2024-04-13 05:58 UTC

This package is auto-updated.

Last update: 2024-09-13 18:42:46 UTC


README

访问 截图 了解内部视图。

此应用程序基于 Vue Skeleton (1.x)。

该软件旨在安装在您的本地机器上。如果您想在公共Web服务器上安装,请通过.htpasswd或类似方式确保public文件夹的安全。

目录

包含

安装生产版本(推荐)

必需

在您的操作系统上打开控制台,并导航到您想安装项目的位置。

使用Composer

php composer create-project --ignore-platform-reqs --no-dev codelinered/twitch-chatbot twitch-chatbot "dev-production"
cd twitch-chatbot
npm i --only=prod

将用户名、tmiToken、您的频道和其他频道添加到src/app/chatbot.json

node migration.js
node chatbot.js

使用GIT

git clone https://github.com/CodelineRed/twitch-chatbot.git
cd twitch-chatbot
git checkout production
npm i --only=prod

将用户名、tmiToken、您的频道和其他频道添加到src/app/chatbot.json

node migration.js
node chatbot.js

使用ZIP

Unix

wget -O tcb-prod.zip https://github.com/CodelineRed/twitch-chatbot/archive/production.zip
unzip tcb-prod.zip

Windows 10+

curl -L -o tcb-prod.zip https://github.com/CodelineRed/twitch-chatbot/archive/production.zip
tar -xf tcb-prod.zip

所有操作系统

cd twitch-chatbot-production
npm i --only=prod

将用户名、tmiToken、您的频道和其他频道添加到src/app/chatbot.json

node migration.js
node chatbot.js

生成tmiToken 并点击 "连接"。
如果您需要PHP,您必须转到 使用Docker安装

安装主/开发版本

必需

在您的操作系统上打开2个控制台,并导航到您想安装项目的位置。

使用Composer

php composer create-project --ignore-platform-reqs codelinered/twitch-chatbot twitch-chatbot
cd twitch-chatbot
npm i
gulp build

将用户名、tmiToken、您的频道和其他频道添加到src/app/chatbot.json

node migration.js
node chatbot.js

在第二个控制台

gulp

使用GIT

git clone https://github.com/CodelineRed/twitch-chatbot.git
cd twitch-chatbot
git checkout main
npm i
gulp build

将用户名、tmiToken、您的频道和其他频道添加到src/app/chatbot.json

node migration.js
node chatbot.js

在第二个控制台

gulp

使用ZIP

Unix

wget -O tcb-main.zip https://github.com/CodelineRed/twitch-chatbot/archive/main.zip
unzip tcb-main.zip

Windows 10+

curl -L -o tcb-main.zip https://github.com/CodelineRed/twitch-chatbot/archive/main.zip
tar -xf tcb-main.zip

所有操作系统

cd twitch-chatbot-main
npm i
gulp build

将用户名、tmiToken、您的频道和其他频道添加到src/app/chatbot.json

node migration.js
node chatbot.js

在第二个控制台

gulp

生成tmiToken 并点击 "连接"。
打开 localhost:3000 以访问Web UI。

使用Docker安装(可选)

必需

在您的操作系统上打开控制台,并导航到解压缩或克隆的应用程序文件夹。

Unix

systemctl docker start
docker-compose up -d
docker run --rm --interactive --tty --volume $PWD:/app composer install --no-dev
docker exec -ti twitch-chatbot php /var/www/vendor/vrana/adminer/compile.php
-- Ignore error messages --
mv adminer-4.6.2.php ./adminer

Windows 10+

"c:\path\to\Docker Desktop.exe"
docker-compose up -d
docker run --rm --interactive --tty --volume %cd%:/app composer install --no-dev
docker exec -ti twitch-chatbot php /var/www/vendor/vrana/adminer/compile.php
-- Ignore error messages --
move adminer-4.6.2.php ./adminer

所有操作系统

$ npm i
$ gulp build
$ node migration.js
$ node chatbot.js

chatbot.js 选项

项目命令

端口

chatbot.json

gulpfile.json

聊天机器人命令

聊天机器人命令(针对主播和版主)

自定义命令选项(针对主播和版主)

聊天机器人列表选项(针对主播和版主)

Web UI功能

聊天

  • 时间戳
  • 徽章
  • 自定义用户颜色
  • 以全色和斜体样式显示“/me”消息
  • 欢呼
  • 订阅、重新订阅、订阅礼物(随机和特定)、礼物升级
  • 封禁、暂时封禁、删除
  • 现在托管、被托管、被突袭、取消托管
  • 可点击链接
  • Twitch表情
  • BetterTTV表情
  • FrankerFaceZ表情
  • 弹出URL /channel/[channel]/chat 以在OBS中使用浏览器源(无像素推荐)

命令

  • 冷却时间
  • 活动状态
  • 上次执行时间

自定义命令

  • 添加命令(仅在聊天中)
  • 删除命令
  • 切换命令
  • 更新命令(仅在聊天中)

计数器

  • 弹出URL /channel/[channel]/counter 以在OBS中使用浏览器源(像素推荐:400x400px)

播放列表

  • 使用localhost:3060域名播放本地MP4文件。(见 docker-compose.videos-folder.yml
  • 播放Twitch剪辑和视频(过往直播、精彩片段和视频上传)
  • 播放YouTube视频
  • 添加视频
  • 编辑视频
  • 跳过视频
  • 移动视频
  • 删除视频
  • 删除已播放视频
  • 删除跳过视频
  • 添加播放列表
  • 所有播放列表
  • 编辑播放列表
  • 切换播放列表
  • 合并播放列表
  • 删除播放列表
  • 重置播放列表
  • 清空播放列表
  • playlistInfo命令
  • 弹出URL /channel/[channel]/player 以在OBS中使用浏览器源(像素推荐:1920x1080px)
  • 播放器中的视频名称叠加
  • 自动填充视频名称、子名称和时长(取决于videosFolderyoutubeTokenclientIdToken设置)
  • 更改流标题和/或游戏动态(如果至少有一个Twitch账户连接到Twitch上的“Insanity Meets - Chatbot”应用)

自动填充

1 example_video-2020.mp4 解析为 Example Video - 2020

投票

  • 开始投票
  • 关闭投票
  • 删除投票
  • 将投票复制到表单
  • 所有投票模态框
  • 宣布投票到聊天按钮
  • 结果到聊天按钮
  • 动画获胜者(如果多个选项相等,则随机选择获胜者)
  • 为获胜者播放音频(音频仅在弹出窗口中播放)
  • 循环播放投票音频(音频仅在弹出窗口中播放)
  • 宣布获胜者到聊天
  • 多选是/否
  • 将投票与抽奖结合
  • 开始日期时间
  • 结束日期时间
  • 日期时间选择器
  • 弹出URL /channel/[channel]/poll 以在OBS中使用浏览器源(像素推荐:1000x563px,最多6个选项)

抽奖

  • 开始抽奖
  • 关闭抽奖
  • 删除抽奖
  • 将抽奖复制到表单
  • 所有抽奖模态框
  • 宣布抽奖到聊天按钮
  • 结果到聊天按钮
  • 动画获胜者
  • 为获胜者播放音频(音频仅在弹出窗口中播放)
  • 循环播放投票音频(音频仅在弹出窗口中播放)
  • 宣布获胜者到聊天
  • 自定义关键词
  • 乘数
  • 开始日期时间
  • 结束日期时间
  • 日期时间选择器
  • 弹出URL /channel/[channel]/raffle 以在OBS中使用浏览器源(像素推荐:1000x563px)

机器人

  • 在聊天中拥有徽章
  • 5个机器人预设(Mod4YouBot、Moobot、Nightbot、StreamElements、Streamlabs)
  • 使用BetterTTV API自动填充机器人

统计

  • 以图表形式显示观众数量
  • 所有表情符号前15名
  • Twitch表情符号前15名
  • BTTV表情符号前15名
  • FFZ表情符号前15名
  • 前15名聊天者
  • 前15个标签
  • 前15个命令
  • 订阅者数量
  • 新订阅者数量
  • 新付费订阅者数量
  • 新Prime订阅者数量
  • 直接赠送的订阅者数量
  • 随机赠送的订阅者数量
  • 重新订阅者数量
  • 付费重新订阅者数量
  • Prime重新订阅者数量
  • 清除数量
  • 删除消息数量
  • 超时消息数量
  • 超时用户数量
  • 被禁用用户数量
  • 新用户数量
  • 所有用户数量
  • 聊天消息数量
  • 使用表情符号数量
  • 欢呼数量
  • Bits数量
  • 观众最小值
  • 观众最大值
  • 观众平均值

import-videos-folder.js选项

示例执行:node import-videos-folder.js -c CodelineRed

导入要求

  • videosFolderchatbot.json中指向现有文件夹
  • videosFolder下的每个文件夹都对应一个播放列表
  • 只允许MP4文件

脚本只导入数据库中不存在的视频。

migration.js 选项

示例执行: node migration.js -d up

本地化

链接

音频文件

已知问题

  • 有时用户没有插入到 channel_user_join 中。这正在进行调查。
  • 在添加新消息后,聊天组件中的表情可以闪烁
  • 一个跟随 Twitch 表情(例如 🧡 CoolCat)的 Emoji 被错误地解释为 emote.encodeTwitch()
    • API 发送了错误的 userstate.emotes 对象