見出し画像

【備忘録】アナウンスチャンネル メッセージを自動で公開

#discord #discord_py #python #備忘録

最近Game Ocean botのDiscordサーバーをコミュニティーサーバーにしました。

通常のサーバーと異なる点は多いですが、ここではアナウンスチャンネルについてお話します。


アナウンスチャンネルとは?

アナウンスチャンネルとは、テキストチャンネルの設定で、アナウンスチャンネルの欄をオンにすると切り替わります。

チャンネルのアイコンが拡声器がアナウンスチャンネルの目印です。

この「フォローする」をクリックすると、権限あるサーバーとチャンネルが表示され、設定すると、

このアナウンスチャンネルで”公開”されたメッセージが、設定したチャンネルにも同様に送られます。
つまり、

アナウンスチャンネルのメッセージを好きなチャンネルで受け取ることができます。


利用者としては便利ですし、サーバー管理者からしても、通知メッセージを見てもらえる確率が上がるため、良いものです。


ただし、”公開”されたメッセージだけが通知されます。
この”公開”とは、

メッセージを選択した際に、この”拡声器”マークを押すことで、”公開”されます。
そのため、メッセージを送信するだけでは、フォローしている人のチャンネルに送信されません。
そして、自動的にすべてのメッセージを”公開”にする設定もありません。


コード

ここからは、discord py でのお話です。

アナウンスチャンネルの公開について、discord py に用意されています。

メッセージを送信したあとに、 .pubilish()をすることで”公開”することができます。

cc = await cchannel.send(f"https://fxtwitter.com/Game_Ocean_bot/status/{cod_id}")
vc = await vchannel.send(f"https://fxtwitter.com/Game_Ocean_bot/status/{valo_id}")
await cc.publish()
await  vc.publish()

上のコードは実際に、使用しているもので、X(旧ツイッター)への投稿と同時にアナウンスチャンネルへの投稿も行う際に、このように記述しています。


私自身、チャンネルへの書き込みは自動化しているのに、アナウンスチャンネルでの公開が自動化されていないため、改良した次第です。
今回は以上になります。



Shiftkeyについて


noteの内容に共感していただければ、ぜひともサポートを宜しくお願いします。今後の記事投稿の励みになります。