フォルダは以下の構成になっています。
- Commonフォルダ
- - CommonFunction.py → 汎用性の高い処理はここ。
- - Tweet_AuthInfo.ini → 各SNSの認証情報を保持。
- - Tweet_Management.ini → どのSNSを投稿先にするのかを保持。
- - Tweet_Management.py → ツイート関連の処理はすべてここに記載。
- TweetMultiSNSフォルダ
- - fabicon.ico → ウィンドウなどに表示されるアイコン。名前がファビコンなのはこのサイトで使用してるアイコンをそのまま流用しているため。
- - Tweet.py → UI部分。
- - Tweet.spec → pyinstallerでexe化する際に使用。
- - distフォルダ → 書き出したexeファイルで使用される。
- - - fabicon.ico → 同上。
- - - Tweet.exe → exeファイル
- - - Tweet_Management.ini → 同上。
- - - Tweet_Management.py → 同上。
「Tweet_Management.py」が根幹部分です。
「CommonFunction.py」は汎用的な処理を、「Tweet.py」はUI部分を担っています。なので、UI部分が気に食わなければその部分を自作し「Tweet_Management.py」を呼び出せば良い、という作りになってます。
各SNSごとに処理は分かれていますが、①認証→②ツイート投稿の順の処理になっているのは同じです。
①認証についてはすべて大体似たり寄ったりなので特筆すべき点はありません。認証しておしまいです。
②ツイート投稿については以下の機能が入っています。
- ツイート機能 → 当然ある機能。文字数制限とかは入ってない。
- 返信ツイート機能 → 直前のツイートに返信してツイートできるようにしている(MastodonとBlueskyはできない)。
- 引用ツイート機能 → 引用できるSNSに関しては直前のツイートを引用してツイートできるようにしている。
- 画像アップロード機能 → jpgとpng画像を4枚まで添付できる。Blueskyではなぜか複数枚添付するとエラーが起こりやすい……。
- URLのリンク化機能 → BlueskyのみURLを自動的にリンク化してくれないため、コード内でリンク化処理を入れている。
- ハッシュタグのリンク化機能 → Blueskyのみハッシュタグを自動的にリンク化してくれないため、コード内でリンク化処理を入れている。
- ogp情報の表示機能 → Blueskyのみリンク先のogp情報を自動的に表示してくれないため、コード内で表示処理を入れている。