Skip to content
This repository has been archived by the owner on Feb 4, 2023. It is now read-only.

louis70109/Twitch-Bot

Repository files navigation

為什麼要用 Twitch Bot 👾

使用電腦看的時候我們可以用 Ad Block 這類的擴充工具來擋廣告,但使用手機的 APP 安裝外掛就很麻煩,

此時有朋友在 LINE 裡面傳 Twitch 直播給我看,意外的發現在 APP 上開網頁看直播是不會廣告襲擊!!

因此這隻 Twitch Bot 就誕生啦 🎉,目前支援 LINE Bot,可以透過指令綁定帳號查詢追隨最多人看的遊戲查詢特定遊戲以及綁定推播功能。

加入好友

QRcode

掃描 QR code 或是點選我!!

加入好友

截圖

指令使用

  • 綁定帳號: 綁定 TWITCH_ACCOUNT
    • ex: 綁定 relaxing234
  • 查詢追隨: follow / 追隨
    • 前置動作: 須先綁定帳號才可查詢
  • 最多人看的遊戲: top / 遊戲
  • 連結 LINE Notify: 點選我

更多介紹參考 我的文章

Developer setup

主要工具

試玩

Clone 圖奇獸 下來!

git clone https://github.com/louis70109/Twitch-Bot.git

使用環境變數: .env

.env.sample 改成 .env 並把對應的 key 放入。

cp .env.sample .env

LINE

Bot 的金鑰

  • Secret key

  • Access token

Notify

參考我文章的這部分

Twitch

TWITCH_ACCESS_TOKEN: OAuth key 在這邊申請

申請完後將 oauth: 後的 key 透過官方文件的 Validating requests 指令放入 access token 中取得 Client_id,如下:

curl -H "Authorization: OAuth <access token>" https://id.twitch.tv/oauth2/validate

本專案的 TWITCH_CLIENT_ID 的環境變數就是這個回傳值中的 client_id

啟動

Normal

  • 先用 yarn installnpm install 來安裝相依套件
  • 開啟另一個視窗執行 tsc -w,它會幫忙編譯並且即時監聽
  • 啟動服務方法:
    1. npx bottender dev: 執行程式,或是加上 --console 讓你可以在終端機上直接測試 Bot 的行為。
    2. npm run dev: 則是有完整的 LINE API 使用功能(NotifyLIFF),需要前端顯示的則需要透過這個指令啟動 server。

使用 npx bottender dev 時會幫你建立 LINE 的 webhook URL 了。

若是使用 express 來啟動的話(預設 5000 port) 則是需要額外開個視窗啟動 ngrok 來幫忙建立一個暫時的 https 網址喔!!

npx ngrok http 5000

然後將 LINE webhook url 複製到你的機器人開發者頁面中。

也可以使用 Docker

若要試玩 Docker 的話可以使用以下指令

docker-compose up -d # 啟動服務於背景
docker ps            # 查看服務狀態

開啟另一個視窗執行ngrok將 port 導出去

npx ngrok http 5000

再將網址複製到對應的平台設定上即可!

在 container 裡也是讀取.env,要記得設定檔案。


👾👾👾 現在你可以好好的去試玩 Twitch Bot 了 🎉🎉🎉

LICENSE

MIT