在discord.py中的正则表达式清除检查?

huangapple go评论69阅读模式
英文:

Regex in discord.py purge check?

问题

discord.TextChannel.purgecheck参数中实现正则表达式检查是否可能?

我认为我必须使用lambda或其他东西,但我真的不确定。任何示例都将不胜感激!

我正在使用最新版本的pycordre

英文:

Is it possible to implement a regex check in the check argument of discord.TextChannel.purge?

I believe that I have to use lambda or something, but I'm really not sure. Any example would be appreciated!

I'm using the latest version of both pycord and re.

答案1

得分: 0

"Lambda" 可以使用。您必须定义一个方法来检查消息是否与正则表达式匹配。

def matches(message, regex):
    if re.match(regex, message): return True
    return False


# 要么从命令/消息内容中获取您的正则表达式,要么将其设置为一个变量。
arg = "\d+"  # 任意
await ctx.channel.purge(limit=10, check=lambda message, regex=arg: matches(message, regex))

编辑:修正了代码。之前是错误的。现在正确。

英文:

Lambda can be used. You have to define a method to check if the message matches the Regex.

def matches(message, regex):
    if re.match(regex, message): return True
    return False


#Either get your regex from the command/message content or just set it to a variable.
arg = "\d+" #arbitrary
await ctx.channel.purge(limit=10, check=lambda message, regex=arg: matches(message, regex))

Edit: Fixed code. Was wrong. Now right.

huangapple
  • 本文由 发表于 2023年6月16日 01:59:53
  • 转载请务必保留本文链接:https://go.coder-hub.com/76484359.html
匿名

发表评论

匿名网友

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

确定