Iterasi kedua dari Tsoder. Bot obrolan untuk aliran Tsoding.
Perlu diingat bahwa kami tidak menggunakan paket Haskell apa pun dari nixpkgs. Semua dependensi seharusnya diunduh oleh komplotan rahasia atau tumpukan selama pembangunan.
$ nix-shell
$ cabal sandbox init
$ cabal install happy-1.19.9
$ cabal install --only-dependencies --enable-tests
$ cabal build
$ cabal test
$ cabal run HyperNerd secret.ini database.db
Lihat Pembuatan Lokal bergaya Nix untuk info lebih lanjut
$ nix-shell
$ cabal v2-build
$ cabal v2-test
$ cabal v2-run exe:HyperNerd secret.ini database.db
Ketergantungan asli:
$ stack build
$ stack exec hlint .
$ stack exec HyperNerd secret.ini database.db
File secret.ini
terdiri dari tiga bagian opsional.
[twitch]
nick = HyperNerd
channel = Tsoding
password =
clientId =
owner =
[discord]
authToken =
guild =
channels = [, , ... ]
[github]
apiKey =
nama | keterangan |
---|---|
nick | Nama panggilan bot. |
owner | Pemilik bot. Bot akan mengenali nama ini sebagai otoritas terlepas dari apakah dia seorang mod atau penyiar. |
password | Kata sandi dibuat oleh https://twitchapps.com/tmi/. oauth: awalan adalah bagian dari kata sandi. |
channel | Saluran tempat bot akan bergabung saat permulaan. |
clientId | ID Klien untuk panggilan Twitch API. |
nama | keterangan |
---|---|
authToken | Token Otentikasi untuk bot: https://github.com/reaktiflux/discord-irc/wiki/Creating-a-discord-bot-&-getting-a-token |
guild | Id guild yang didengarkan bot |
channels | Daftar id saluran yang didengarkan bot (daftar diuraikan sebagai daftar Haskell: [ ) |
nama | deskripsi |
---|---|
apiToken | https://help.github.com/en/articles/creating-a-personal-access-token-for-the-command-line |
Dengan rahasia yang ada dalam volume yang ditentukan di docker-compose.yaml
,
$ docker-compose up --build
$ docker build --target app -t hypernerd .
$ mkdir hypernerd-state
$ cp secret.ini hypernerd-state
$ docker create -v /absolute/path/to/hypernerd-state/:/tmp/hypernerd/
--name hypernerd-bot hypernerd
$ docker start -a hypernerd-bot
$ docker stop hypernerd-bot
$ docker exec -it hypernerd-bot sh
Untuk memicu respons berantai Markov, cukup sebutkan bot dalam obrolan.
Model Markov adalah file csv yang dihasilkan dari log di file database bot menggunakan utilitas Markov
CLI:
$ cabal exec Markov train database.db markov.csv
Perintah ini akan menghasilkan file markov.csv
.
$ cabal exec HyperNerd secret.ini database.db markov.csv
File markov.csv
tidak diperbarui secara otomatis. Untuk memperbarui file dengan log baru Anda harus menjalankan utilitas Markov
CLI lagi.
Anda dapat menetapkan alias perintah ke perintah apa pun:
!test
test
!addalias foo test
!foo
test
Alias tersebut "dialihkan" hanya sedalam satu tingkat yang berarti alias transitif tidak didukung:
!addalias bar foo
!bar
*nothing, because !bar is redirected to !foo, but further redirect from !foo to !test does not happen*
Motivasi untuk tidak mendukung alias transitif adalah sebagai berikut:
!addquote
-- Menambahkan kutipan ke database kutipan. Hanya tersedia untuk sub dan mod.!delquote
-- Hapus kutipan berdasarkan id. Hanya tersedia untuk Tsoding.!quote [quote-id]
-- Kueri kutipan dari database kutipan. Anda dapat mendukung pekerjaan saya melalui