ver-1000000 / butler Goto Github PK
View Code? Open in Web Editor NEWバトラーは、いくつかの機能を持ったDiscord用のBOTです。
License: MIT License
バトラーは、いくつかの機能を持ったDiscord用のBOTです。
License: MIT License
誕生日を迎えると、それを通知する機能。
!birthday.set あこすけ 2020/07/07
!birthday.get あこすけ
!birthday.remove あこすけ
!birthday.list
ver-1000000/discord-bot-probably-akosuke#2 から移譲されたIssue。
特定のチャンネルに投稿された画像を、サードパーティストレージに保存する。
できればビュワーみたいなのも提供したい。
サードパーティストレージいらんか?discordのcdnから引っ張ってしまってもよいだろうか なんか規約に引っかかるかな
詳しい人おしえて
!shiritori 10
16系が出てるはずなので、こちらに移行する
音声チャットにインしてた時間を計測して、週末に発言するみたいなやつ。
おもしろそう。 サバ主と相談してTOPの人にはロールとかつけてもいいかも。
時間を計算して文字列でグラフ表現みたいなんしたい
■■■■■■■■■■■■■■■■■■■■■■■■■■■■ hoge
■■■■■■■■■■■■■■■■■■■■ foo
■■■■■■■■■■■■■■■■■ bar
みたいな?
#6 を実現するために、モノリポ化してWorkerサーバーとWebサーバーを同時に建てられるようにしたい。
サーバー2つ無料枠で建てられるなんてすげー便利な時代ですね……
https://twitter.com/kawaz/status/1477809915729448961?t=yDJcv4_ZsnpbLKiBoUmpbw&s=19
正規表現登録時に時間計算して長過ぎたら弾くバリデーションとか入れる……?
以下のような流れ。 とりいそぎmemo。
https://discord.com/developers でボットを作成
左部メニュー Bot から Build-A-Bot > Add Bot
サブメニュー OAuth2 の OAuth2 URL Generator でBot登録用URLを作成するために、SCOPESからbotにチェック
BOT PERMISSIONSに必要そうな権限をチェックしていく 面倒ならAdministrator
多分 Send Messages Use External Emojis Add Reactions Use Slash Commands Connect Speak Mute Members Use Voice Activity
んでこれが生成される https://discord.com/api/oauth2/authorize?client_id=893258033726119958&permissions=2188642368&scope=bot
生成したURLからbotを追加し、トークンを利用して開発を行う
/tsconfig.base.json
に
"paths": {
"@butler/*": ["./*/src"]
}
を追加して、
/packages/worker/src/app.ts
などから
import { DISCORD_TOKEN, NOTIFY_TEXT_CHANNEL_ID } from '@butler/core';
import { MemosStore } from '@butler/worker/stores/memos.store';
のようにimportできるようにしたい……。
しばらくサービングを続けると、途中でError: ENOSPC: no space left on device, write
みたいな
エラーが出てることに気づいた。(たしか)
Glitchの無料プランではディスクスペースに200MBしか利用できないのだが、
どうやら.cache配下に数十MB単位のキャッシュが作成されてしまうことが問題のようであった。
これをdu -hd 1
などのコマンドで分析していくと、どうやら.cache/ffmpeg-static-nodejs
がバカでかい。
消しても問題ないようなので、rimrafとかでガバッと削除してやれば動く気もするが、
どうやらGlitchのサーバーにはネイティブffmpegがインストールされているようなので、
npmからffmpeg-staticの利用をやめ、新たにffmpegの利用を試みてみる。
環境変数から利用する機能の無効化・有効化を行えるようにしたい
自動テストの仕組みを作ってテストを追加できるようにしたい
元来、データ永続化の手法には、
Glitchで動作していたfor-sabasabaserverではdata-storeを利用し、
Herokuで動作していたprobably-akosukeはRedisを利用していた。
2つを統合する際、
という理由から、butlerでは新しくLevelDBというデータ永続化の手法を採用した。
しかし、統合を終え、実際にデプロイしてみると、 Herokuではローカルに保存するタイプのファイルベースDBは、データが破棄されるために利用できない ことが判明した。 いやほんとはなんとなくわかっていた。 なんかいけないかなって甘えて実装した。
Herokuで利用できる永続化サービスでなおかつGlitchでの実装に齟齬がないようなものに置き換える必要がある。
#6の実装中、Glitch無料プランのディスク容量制限200MBがキツくて実現できなくなってきた。
次のようなエラーが出てる。 意味がわからん。
> @butler/[email protected] build
> npx tsc -b .
This is not the tsc command you are looking for
To get access to the TypeScript compiler, tsc, from the command line either:
- Use npm install typescript to first add TypeScript to your project before using npx
- Use yarn to avoid accidentally running code from packages which haven't been installed
12試してみて、そのあとesbuildにする?
jsonファイルをダウンロード・アップロードしてストアの状態とかを復元/保存できるようにする
eslint入れたいよ
2021年になんかスラッシュコマンドとかいうのが有効化されたじゃん?
あのへんの資料を集めてそっちに対応させる。
ビックリマークは廃止したいけど、スラッシュコマンドに対応してないサーバーとかが存在するんだったら廃止できないから残しとくことになるのかな? 誰か資料あつめてここに貼ってくれたらうれしいな……。
esbuildって早いよな〜
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.