質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
87.20%
Discord

Discordは、ゲーマー向けのボイスチャットアプリです。チャット・通話がブラウザ上で利用可能で、個人専用サーバーも開設できます。通話中でも音楽を流したり、PC画面を共有できるなど多機能な点が特徴です。

Python 3.x

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

解決済

Discord.py2.0.0で、prefixが反応しないので反応するようにしたい

matsuochinyu
matsuochinyu

総合スコア39

Discord

Discordは、ゲーマー向けのボイスチャットアプリです。チャット・通話がブラウザ上で利用可能で、個人専用サーバーも開設できます。通話中でも音楽を流したり、PC画面を共有できるなど多機能な点が特徴です。

Python 3.x

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

3回答

0評価

0クリップ

296閲覧

投稿2022/04/07 16:39

前提

ここに質問の内容を詳しく書いてください。
slashコマンドや、button機能を使いたく、バージョンを2.0.0にしました。
その中で、Botを起動し動くか確認したとこ、コマンドどころか prefixすら反応しんくなりました。
解決方法を教えてください。

実現したいこと

・コマンドに反応するようにする。
・prefixが反応するようにする。

発生している問題・エラーメッセージ

表示されません。

該当のソースコード

python

import asyncio import datetime import os import traceback import discord from discord.ext import commands from dotenv import load_dotenv from help_command import HelpCommand now = datetime.datetime.now() load_dotenv() TOKEN = os.environ["TOKEN"] NOTICE = チャンネルID class MatsuochinyuBot(commands.Bot): def __init__(self, command_prefix, intents, help_command): super().__init__(command_prefix=command_prefix, intents=intents, help_command=help_command) self.success = 0 self.failure = 0 self.filename = [file.replace(".py", "") for file in os.listdir("./cogs") if file.endswith(".py")] async def load_extensions(self): print("Cogを読み込みます") for filename in self.filename: print("-" * 10) print(filename) try: await self.load_extension(f"cogs.{filename}") print(f"Read success:{filename}") self.success += 1 except Exception as e: print(e) print(f"Read failure:{filename}") self.failure += 1 print("-" * 10) print(f"成功:{self.success} 失敗:{self.failure}\n") async def on_ready(self): embed = discord.Embed(title="Info", description="", color=0x00FF00) embed.add_field(name="Cogの読み込み", value=f"成功:{self.success} 失敗:{self.failure}") await self.get_channel(NOTICE).send(embed=embed) with open("cogs/reload.txt", "r", encoding="utf-8") as f: read_file = f.read() if read_file == "": pass else: await self.get_channel(int(read_file)).send( "``loading...``", delete_after=3 ) embed = discord.Embed( title="___リロード完了通知___", description="使えるようになりました。", color=0x00FF00 ) await self.get_channel(int(read_file)).send(embed=embed, delete_after=3) with open("cogs/reload.txt", "w", encoding="utf-8") as f: f.write("") async def on_command_error(self, ctx, error): """すべてのコマンドで発生したエラーを拾う""" if isinstance(error, commands.CommandInvokeError): orig_error = getattr(error, "original", error) error_msg = "".join( traceback.TracebackException.from_exception(orig_error).format() ) error_message = f"```{error_msg}```" ch = ctx.guild.get_channel(NOTICE) embed = discord.Embed( title="エラーログ", description=error_message, color=0xF04747 ) embed.set_footer( text=f"Time:{now:%Y-%m-%d %H:%M:%S}\nGuild:{ctx.guild}\nChannel:{ctx.channel}\nUser:{ctx.author.display_name} " ) await ch.send(embed=embed) # Botの設定 intent = discord.Intents.default() intent.typing = False intent.members = True intent.messages = True bot = MatsuochinyuBot( command_prefix=commands.when_mentioned_or("m:"), intents=intent, help_command=HelpCommand(), ) # ログイン処理 async def main(): async with bot: await bot.load_extensions() await bot.start(TOKEN) if __name__ == "__main__": print("ログイン中...\n") print(f"Information's:{datetime.datetime.now()}") print("-" * 40) print(f"Discord.py Version:{discord.__version__}") print("-" * 40) print("ログイン完了\n") asyncio.run(main())

試したこと

色々なネット記事を参考にして試みてみましたが、動きませんでした。

補足情報(FW/ツールのバージョンなど)

discord.py:Version: 2.0.0a4058+gabeea73
python:3.9.12
mac OS:catalina 10.15.7

良い質問の評価を上げる

以下のような質問は評価を上げましょう

  • 質問内容が明確
  • 自分も答えを知りたい
  • 質問者以外のユーザにも役立つ

評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

気になる質問をクリップする

クリップした質問は、後からいつでもマイページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

  • プログラミングに関係のない質問
  • やってほしいことだけを記載した丸投げの質問
  • 問題・課題が含まれていない質問
  • 意図的に内容が抹消された質問
  • 過去に投稿した質問と同じ内容の質問
  • 広告と受け取られるような投稿

評価を下げると、トップページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

まだ回答がついていません

会員登録して回答してみよう

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
87.20%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問

同じタグがついた質問を見る

Discord

Discordは、ゲーマー向けのボイスチャットアプリです。チャット・通話がブラウザ上で利用可能で、個人専用サーバーも開設できます。通話中でも音楽を流したり、PC画面を共有できるなど多機能な点が特徴です。

Python 3.x

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。