konanomono
@konanomono (伝説の 粉)

Are you sure you want to delete the question?

If your question is resolved, you may close it.

Leaving a resolved question undeleted may help others!

We hope you find it useful!

テキストの指示に従って、ボイスチャンネルへ移動するBOTを作りたい。(その他)

解決したいこと

暇つぶしに、PythonでDiscordのBOTを作成しています。
以下に現状作成しており詰まってしまっている部分、
今後やってみたいことを記載します。

何か、修正案、参考になるようなサイトあれば教えていただければ幸いです。

下記に記載しているコードは結構急ピッチで書いたので、
「なんかすごいところ間違ってんなぁ。。。」と思っても。。。

話を戻します。
下記に記載してある物で、太字がすぐにやりたいことです。

回答お待ちしております。

・テキストの指示に応じてボイスチャンネルに移動する
・記載されたテキストを読み上げる
・読み上げる声を自作する。
 →今後やっていたいことです。
・自分で返答を考えて返答する。
 →今後やってみたいことです。

import discord

# 自分のBotのアクセストークンに置き換えてください
TOKEN = ''

# 接続に必要なオブジェクトを生成
client = discord.Client()


@client.event
async def on_ready():
    print('Logged in as')

@client.event
async def on_message(message):
    # 「BOT」で始まるか調べる
    if message.content.startswith("BOT"):
        # 送り主がBotだった場合反応しない
        if client.user != message.author:
            try:
                user_name = message.author.name
                text = message.content
                print(text)
                print(type(text))

                msg =  user_name + " "

                # +=の場合は左辺と右辺に組み合わせる。
                # = 左辺に右辺を入れる。
                if text == ('BOT'):
                    msg = '御用ですか?'

                elif text.find('ボイスチャンネル') > -1:
                    if message.content == "!join":
                        if message.author.voice is None:
                            await message.channel.send("あなたはボイスチャンネルに接続していません。")
                            return
                        await message.author.voice.channel.connect()
                        await message.channel.send("接続しました。")


                # メッセージが送られてきたチャンネルへメッセージを送ります
                await message.channel.send(msg)
                return msg
            except Exception as e:
                print(e)
                raise e

@client.event
async def Toking_BOT(message):
   if message.content.startswith("ボイスチャンネル"):
       if message.content == "!join":
           if message.author.voice is None:
               await message.channel.send("あなたはボイスチャンネルに接続していません。")
               return
           # ボイスチャンネルに接続する
           await message.author.voice.channel.connect()
           await message.channel.send("接続しました。")

           if message.content == "!leave":
               if message.guild.voice_client is None:
                   await message.channel.send("接続していません。")
                   return

               await message.guild.voice_client.disconnect()
               await message.channel.send("切断しました。")

client.run(TOKEN)
0

No Answers yet.

Your answer might help someone💌