前提・実現したいこと
discord.pyでcog?というものを使ってbotを作ってる途中です。
実装したい機能は画像が送られた時に、qrだったらqrの内容を送信。
それ以外だったらpassする機能をつけたいです
発生している問題・エラーメッセージ
None
該当のソースコード
python
1import asyncio 2import code 3import codecs 4import json 5import os 6import random 7import sys 8import textwrap 9import traceback 10from datetime import * 11from random import * 12from time import * 13 14import discord 15from discord import * 16from discord.ext import commands, tasks 17 18# ----------------------------------------- settings ----------------------------------------- 19 20# jsonファイルの読み込み 21...etc 22 23 24# 管理者の確認 25def is_owner(): 26 async def predicate(ctx): 27 return ctx.author.id == 711187693723451392 28 29 return commands.check(predicate) 30 31 32# ----------------------------------------- settings end ----------------------------------------- 33 34 35class Help(commands.HelpCommand): 36...etc 37 38class music_cog(commands.Cog, name="音楽"): 39...etc 40 41 42class master_cog(commands.Cog, name="管理者"): 43...etc 44 45 46class guild_reader_cog(commands.Cog, name="鯖管理者"): 47...etc 48 49#ここで画像処理をしたい 50class free_cog(commands.Cog, name="共有"): 51 """ 52 だれでも使える機能のカテゴリです 53 どんどんコマンド使ってください 54 """ 55 56 def __init__(self, bot): 57 self.bot = bot 58 59 @commands.command(name="test", description="動作確認をします") 60 async def test(self, ctx): 61 """ 62 botの動作確認 63 """ 64 await ctx.send("動いてるよ") 65 66 @commands.command(name="link", description="リンク集") 67 async def link(self, ctx): 68 """ 69 いろんなURLをだします 70 実装中 71 """ 72 pass 73 74 @commands.command() 75 async def png(self, ctx): # ???? 76 if ctx.author.bot: 77 return 78 if ctx.attachments: 79 for attachment in ctx.attachments: 80 if attachment.url.endswith(("png", "jpg", "jpeg")): 81 await ctx.send(attachment.url) 82 """@bot.event 83 async def on_message(message): 84 # 送信者がbotである場合は弾く 85 if message.author.bot: 86 return 87 # ファイルがある場合 88 if message.attachments: 89 for attachment in message.attachments: 90 # Attachmentの拡張子がpng, jpg, jpegのどれかだった場合 91 if attachment.url.endswith(("png", "jpg", "jpeg")): 92 await message.channel.send(attachment.url)""" 93 94 95# ----------------------------------------- bot event's ----------------------------------------- 96bot = commands.Bot( 97 command_prefix=key,#jsonでよみこんでる 98 help_command=Help(), 99 description="コマンドリスト", 100 intents=discord.Intents.all(), 101) 102 103notice = "channel id" 104 105# 起動時 106# ...etx 107 108 109# ----------------------------------------- bot event's end ----------------------------------------- 110 111# ----------------------------------------- bot add_cog's ----------------------------------------- 112bot.add_cog(music_cog(bot)) 113bot.add_cog(master_cog(bot)) 114bot.add_cog(guild_reader_cog(bot)) 115bot.add_cog(free_cog(bot)) 116# ----------------------------------------- bot add_cog's end ----------------------------------------- 117 118bot.run(token) 119
試したこと
bot.eventのやつを参考にしてみましたが、コマンドではないのでもちろんできませんでした。
補足情報(FW/ツールのバージョンなど)
python,discord.pyすべて最新版です。
回答1件
あなたの回答
tips
プレビュー