MEINFORMATIONTwitterYouTubeホーム»ブログ»ゲームブログ»Discordでニュース通知Botを作成してみたDiscordでニュース通知Botを作成してみた2020年4月26日2022年1月2日MinaSnooze毎週日曜日の記事更新。今回はDiscordでBotを作った話。いいえ、ゲームの為です。DiscordでBotを作った!どういうBotかというと、ゲームニュースサイトから”無料配布ゲーム”記事を通知するというもの。触って結構戸惑いましたけどね....なんとか半日で動作してよかったよかった。仕組みとしては非常に簡単。記事タイトルに”無料配布”の文言があるニュースを抜き出す前回取得したニュース以前のニュースは除外Discordで抜き出し、除外されなかったニュースを指定channelにsendニュースサイトは、AUTOMATONさんを利用させていただきました。ありがとうございます。手動で実行する参考:https://qiita.com/higuratu/items/033e6fa655ee4b1d2ff0定期時刻に実行させたかったので、参考サイトを元に組む。(以下、実行処理)まず、loop関数なんてあんのかよ、しかも時間指定でなんて....便利だな!これ!datetimeで時間を取得して、指定した時刻かを1分置きにif文チェック。これ、1分置きってPCに負荷はどれくらいなのか。参考:https://techacademy.jp/magazine/19148テックアカデミーってわかりやすぃ!これも参考サイトを元に組んでいく。feedparser.parse(RSS_URL)しっかりpipでインストールして、動作。こんなにあっさりニュースを取得できるのか.....次は目的の”無料配布ゲーム”記事のピックアップだ。3.記事タイトルに”無料配布”の文言があるニュースを抜き出す参考:https://note.nkmk.me/python-str-search/もちろん参考サイト。言語が違えば文法も違うのだ。似たのがあるのを予想してグルグル。entry.link)さっきのニュース取得コードの下部に追記。d.entries:取得したニュースは配列っぽいんでfor文。いいとは....複雑なことはしなくていいんすね...構えていたのが拍子抜けですねぇ!そこから、Discordに投げることを前提として、チャット文を整えて格納。参考:https://note.nkmk.me/python-file-io-open-with/参考はpythonのファイル入出力について。news_list.append('最新のゲーム無料配布ニュースはありません')今までのコードに書き加える。#logファイルのパスtxtファイル。これに取得したニュースのURLを残して後の判定に使う。break取得したニュースがあるかif文チェック。ニュースの取得順が”投稿時間の新しい順”なので、後ろに行くと古い。取得済と合致したら、それ以降も取得済ということ。その地点で、ピックアップ処理を終わらせる。は”新着ピックアップニュースがあったか”というフラグ。