前提・実現したいこと
pythonでリクルートのtalkAPIを使ってDiscordbotを作りたいのですが、文字を打っても何も返ってきません。どのように直したらtalkAPIのreplyが返ってくるようになるでしょうか。
ご教示よろしくお願いいたします。
発生している問題・エラーメッセージ
エラーは出ていません。
該当のソースコード
(bot.py)
python
1import discord 2from discord.ext import commands 3import asyncio 4import os 5import pya3rt 6 7class Talk_Bot(commands.Cog): 8 def __init__(self, hogebot): 9 self.bot = hogebot 10 11 @commands.Cog.listener() 12 async def on_message(self, message): 13 if message.author.bot: 14 return 15 if message.channel.id == CHANNELID: 16 client = pya3rt.TalkClient(os.environ['TALKAPI']) 17 content = client.talk(message.content)['results'][0]['reply'] 18 await message.channel.send(content) 19 20def setup(hogebot): 21 hogebot.add_cog(Talk_Bot(hogebot))
(run.py)
import discord from discord.ext import commands import asyncio import os import sys import traceback class HogeBot(commands.Bot): def __init__(self, command_prefix, cogs, **options): super().__init__(command_prefix, **options) for cog in os.listdir(f'./{cogs}'): if cog.endswith('.py'): try: self.load_extension(f'{cogs}.{cog[:-3]}') except Exception: traceback.print_exc() async def on_ready(self): # 準備完了時に呼び出す。 print(f"""ログインしました。 ------\nBotのアカウントの概要\nユーザー名:{self.user.name}\nユーザーID:{self.user.id} ------\nDiscord.pyのバージョン\n{discord.__version__} ------\nPythonのバージョン\n{sys.version} ――――――――――――――――――――――――――――――""") await self.change_presence(activity=discord.Game(name=f'{self.command_prefix}¦{self.user.name} - by.amazakura0804')) if __name__ == '__main__': hogebot = HogeBot(command_prefix='!', cogs='cogs') hogebot.run("BOTTOKEN") # Botのトークン
補足情報(FW/ツールのバージョンなど)
bot.pyの方に問題があるのではないかと思っています。
run.pyの方は問題なく起動できます。ファイルの接続も問題ないと思います。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。