【discordpy】質問スレッドの自動作成

公開日:2019-05-10
最終更新:2019-05-11

この機能は DiscordサーバーDiscord Bot Portal JP で導入されています。
(Discord Bot 利用者/開発者のためのサーバーです)
https://discord.gg/FWw6VqQ


仕様

質問チャンネルに発言があったら、
同カテゴリ内に自動でチャンネルを作成し、
そのチャンネルにトリガーの発言のURLを投げる

Discordサーバーの構成例

質問前

鯖(Guild)  
└── 質問スレ(CategoryChannel)  
    └── 質問(TextChannel)  

質問後

鯖(Guild)  
└── 質問スレ(CategoryChannel)  
    ├── 質問(TextChannel)  
    └── q1(TextChannel)  

実装

以下の属性とメソッドを利用する。

ソースコード

import discord  
import os  

client = discord.Client()  
TOKEN = os.environ['DISCORD_BOT_TOKEN']  
ID_CHANNEL_QUESTION = # 質問チャンネルID  
ID_CATEGORY_QA = # 質問スレカテゴリID  


@client.event  
async def on_message(message):  
    if message.channel.id == ID_CHANNEL_QUESTION:  
        await qa_thread(message)  


async def qa_thread(message):  
    category_qa = client.get_channel(ID_CATEGORY_QA)  
    channel_name = f'q{len(category_qa.text_channels)}'  
    payload = {'name': channel_name, 'category': category_qa, 'position': 0}  
    channel_qa = await message.guild.create_text_channel(**payload)  
    await channel_qa.send(message.jump_url)  
    await client.get_channel(ID_CHANNEL_QUESTION).edit(position=0)  


client.run(TOKEN)  
記事が少しでもいいなと思ったらクラップを送ってみよう!
0
+1
備忘録のようなもの

よく一緒に読まれている記事

0件のコメント

ブログ開設 or ログイン してコメントを送ってみよう
目次をみる

技術ブログをはじめよう

Qrunch(クランチ)は、ITエンジニアリングに携わる全ての人のための技術ブログプラットフォームです。

技術ブログを開設する

Qrunchでアウトプットをはじめよう

Qrunch(クランチ)は、ITエンジニアリングに携わる全ての人のための技術ブログプラットフォームです。

Markdownで書ける

ログ機能でアウトプットを加速

デザインのカスタマイズが可能

技術ブログ開設

ここから先はアカウント(ブログ)開設が必要です

英数字4文字以上
.qrunch.io
英数字6文字以上
ログインする