初投稿。
#目的
スマブラプレイヤーえつじ(https://twitter.com/yk_Etsuji) が
Youtubeメンバー向けdiscordに残したメモの整理。
既に有志がMarkdownで綺麗にまとめてくれたものが存在するため、
今回のプログラムの目的はまとめ作業の半自動化を目標とする。
#Markdown記法とは
文章を記述するための記法の一つ。
htmlに変換可能で、何より分かりやすく書きやすい。
#処理の流れ
discordのログをtxtファイルにコピー&ペースト
↓
読み込み[python]
↓
メッセージの日付情報を取得する。[python]
↓
3種類のデータに分類[python]
↓
分類に合わせてデータを格納[python]
↓
日付順にソート[python]
↓
Markdown記法で出力[python]
##dicsordのログをtxtファイルにコピー&ペースト
そのままコピー&ペーストするだけ。
ex.discordのログ
ここからメッセージを日時ごとコピー&ペーストする。
ex.txtファイル
##読み込み[python]
そのまま読み込み。
##メッセージの日付情報を取得する。[python]
discordのメッセージは、
[投稿者の名前][日時]
[メッセージの内容]
という形で表示される。
この特徴を利用し、投稿者の名前(この場合はえつじ)が含まれる行の情報は「日付情報」であるとして、処理を行う。
具体的には、[日時]のみを抜き出し日付型に格納する。
##3種類のデータに分類[python]
メモの特徴として、
日付情報の後には分類のための情報が載ることが多い。
そのため、その行についての情報を調べ、
0 .. スマブラSP全般のメモ
1 .. 使用キャラのメモ
2 .. キャラ対策メモ に分類する。
具体的には、文章に
「ルキナ、マルス、ディディー」が含まれる場合、
⇒使用キャラのメモ
「それ以外のキャラクターの名前」が含まれる場合、
⇒キャラ対策メモ
いずれにも該当しない場合、
⇒スマブラSP全般のメモ
であるとし、分類を行う。
##分類に合わせてデータを格納[python]
各データはリストdataに格納する。
data[0] ... 日付情報(datetime)
data[1] ... 分類情報(int)
data[2~] ... 内容情報(String)
使用キャラのメモ、キャラ対策メモの場合は
data[2]には該当のキャラクターの名前が入る。
作成したリストdataは、
さらに大きなリストdata_listに格納する。
##日付順にソート[python]
日付情報を基準に、バブルソートを用いて、data_list内のソートを行う。
##Markdown記法で出力[python]
データをMarkdown記法でtxtファイルに出力する。
#参考文献、謝辞
日付データを利用するにあたって、
こちらの記事(https://qiita.com/motoki1990/items/8275dbe02d5fd5fa6d2d) を参考にさせていただきました。
何より、メンバー向け情報を整理していただいてる有志の方、ありがとうございます。
最後になりましたが、えつじさん、いつも楽しい配信ありがとう。