我如何“检查”频道是不是为私人频道?

Posted

技术标签:

【中文标题】我如何“检查”频道是不是为私人频道?【英文标题】:How can I "check" if the channel is private?我如何“检查”频道是否为私人频道? 【发布时间】:2019-03-18 06:26:59 【问题描述】:

如何在 discord.py 重写中“检查”频道是否为私有, 我什至看到了一个类似的问题,但答案不起作用:

【问题讨论】:

【参考方案1】:

检查通道是否是PrivateChannel抽象基类的实例:

from discord.abc import PrivateChannel
from discord.ext.commands import Bot    

bot = Bot(command_prefix='!')

@bot.command()
async def isprivate(ctx):
    await ctx.send(isinstance(ctx.channel, PrivateChannel))

bot.run("token")

【讨论】:

【参考方案2】:

我遇到了同样的问题并像这样解决它。 :)

@bot.event
async def on_message(message):
    if str(message.channel.type) == "private":
        print("message is privat...")
    else:
        print("message is not private...") 

【讨论】:

以上是关于我如何“检查”频道是不是为私人频道?的主要内容,如果未能解决你的问题,请参考以下文章

Discord .net Bot 创建私人频道

Discord bot如何创建私人文本频道

如何使用 Telethon 获取电报私人频道 ID

如何使用 JDA 在 Discord 服务器(不是用户/机器人 DM)中创建私人频道:Java Discord API

使用没有错误消息的私人频道时无法从推送者那里获得响应

Discord API / Restcord : 创建私人频道