【发布时间】:2021-08-22 10:33:56
【问题描述】:
嘿,我目前正在开发一个 NSFW 检测不和谐机器人。但是现在我被困住了,我知道如何扫描附件,但是我的链接检测有问题我希望如果消息没有以image_types 中的参数结尾,机器人不会发送 api 请求。但是 atm 机器人会为某人发送的每条消息发送一个 api 请求。我希望你们能理解我的意思并能帮助我。
import discord
from discord.ext import commands
import requests
import os
class NSFW(commands.Cog):
def __init__(self, bot):
self.bot = bot
@commands.Cog.listener()
async def on_message(self, message: discord.Message):
image_types = ["png", "jpeg", "jpg", "jfif", "tiff",
"nef", "ai", "orf", "indd", "eps", "cr2", "psd"]
for type in image_types:
if message.channel.is_nsfw():
return
elif any(type.endswith(image) for image in image_types):
r = requests.post(
"https://api.deepai.org/api/nsfw-detector",
data={
'image': f'{message.content}',
},
headers={'api-key': os.environ["DEEPAPI-KEY"]}
)
nsfw = r.json()
nsfw_score = nsfw['output']['nsfw_score']
print(nsfw)
print(nsfw_score)
if nsfw_score >= 0.80:
await message.delete()
await message.channel.send(
f"{message.author.mention} This image is to {nsfw_score:,.2f}% nsfw (0.1=10%)")
db["count"] = db["count"] + 1
else:
return
else:
return
def setup(bot):
bot.add_cog(NSFW(bot))
【问题讨论】:
标签: python api request discord discord.py