新着Tweet(のリンク)をDiscordBotがサーバーにメッセージ投稿するやつ作ったよ

お勉強したよ日記。わざわざ書くほどのことか?

いずれはもっと機能盛りたいな~と思いつつ、いつなにをやったかのタイムスタンプを取るのが面倒なので覚書として書いとく。一応、ここまでやりたい! っていう目標はあるけど、そこまでやるかもわからないし。なので、細々した技術的な情報はあとでまとめて書くつもり。そのときはたぶんQiitaに書く。

作ったもの

新着Tweet(のリンク)をDiscordBotがサーバーにメッセージ投稿するやつこんな感じ↓

画像1

適当にとったスクショだから分かりづらいけど、定期的にTweet拾ってきて、新着があれば都度都度Botさんが投稿してくれる。リンクを送ってるから、ツイートの内容はそこから表示してくれる感じ。プッシュ通知をそのまま置き換えた感じかな。さすがにこのスクショはテストなので、自分のツイート通知を常に受け取っているわけではないです。秘密。

使ったもの

・tweepy
・discord.py

コーディングは色々試して遊びながらだったから思ったより時間かかって、2日合わせてだいたい5-6時間くらい。行数は全部足して100行くらいだけど(いっぱい書かなくてよかったからそこはすごく楽だった)、とりあえず動かしたいから変な結合してるし、サンプルコードのつぎはぎだし、余計なコードも多い印象。どこかで綺麗にしないとなあとは思ってる。

大変だったこと:
TwitterAPIの申請がいちばんだったかなあと思う。はじめてだったのもあるし、開発者向けDocsをDeepL片手にしっかり読んだ(と思ってる)。
初めてなのに1回でApprove! とは行かなくて、3回くらい返信した。ユースケース聞かれるたびに規約を読み返した結果、どうも規約の部分に引っかかってたらしい。なによりそっちをちゃんと読んどこうなと思った。
そういうわけで、本来はTweetの本文とメディアがある場合はそれをまとめて投稿して、普通の投稿と同じような見栄えにしたかったけど断念。もしかしたらそこじゃなかったのかもしれないけど、意図せず改変してもアレなので、個人利用でもちゃんと気をつけていこうという気持ちかな。

そもそもなんでやろうと思ったの?

PCの通知の管理がめんどくさくて、気づかないうちに集中モードになってて見逃したり、ブラウザ側の設定が変わってて通知が来なかったりで配信見逃したり出遅れたりして、めんどくさいなあとApexをやりながら思ったのが最初の動機だったと思う。

はじめはもっと楽に済ませようと思ってて、IFTTTを使ってWebhookで同じことも試してみたけど、そっちは遅延がすごくてあまり使えなかったのもあって、どうせだしAPIでやってみるかとなった。Botの作成とかAPI使った開発とかしたことがなかったので勉強ネタにもなるかなと思って。

今後やりたいこと

これはいくつかあって、
・Discordに投稿した内容をTweet(+α)
・YouTubeの通知もDiscordに投稿
・YouTubeの動画を標準とちょっと違う形式でDiscordで再生

上から順にやっていこうかなと思ってる(YouTubeの申請もしないといけないの? これ)。なんとなくやろうとしていることはこれでわかりそうだけど、まあまだ明確になにを盛るかは決めてない。(おおよそ目指しているところはこれで気づかれそうなもんだけど)

ある程度目標として、これくらいのことができたらいいなというイメージがあるから、まずはそれらしいものを作ることを最優先にやっていたいですね。

感想

ここまでほとんど感想みたいなことばかり書いておいてさらに感想を書くなよって感じだけど、触るものがなにからなにまで知らないことばかりで、わからんわからん状態になったり完全に理解した状態になったりを繰り返したりするの、結構好きと久々に思った。ある程度目に見えて成果が出るのはモチベ維持にもつながっていいな~と思いました。ぶっちゃけ書いてるSSが進まないストレスがこっちに向いてたのもある。

とはいえまだ全然わかっていないことだらけで、とりあえずHerokuのアカウントは作ったけど本番環境ってなにをどうするの? デプロイ? という状況。最悪ローカルサーバのままでもいいのかな。あとはトークンとかはどう管理すればいいの? ってなって、ふだんコードじゃないものも色々GitHubにあげまくってるけどそれもしてない(Privateリポジトリだから大丈夫だと思うんだけど……)。

というわけで色々雑多に走り書き。気がついたら消すと思う。タイトルのものを作った感想のまとめとしては新しいこと始めるのは始めてみさえすれば楽しいこともあるね、といった感じですね。

あと題とは関係ないところで、だいたい日記書くとか言って三日坊主だったじゃねえかとか、ひさびさにここで書くから過去どういう文体で書いていたかわからんとかがあるけど、今後も思いついたときに思いついたように書いていこうと思いました。


この記事が気に入ったらサポートをしてみませんか?