本文整理匯總了Python中discord.Client.delete_message方法的典型用法代碼示例。如果您正苦於以下問題:Python Client.delete_message方法的具體用法?Python Client.delete_message怎麽用?Python Client.delete_message使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在類discord.Client
的用法示例。
在下文中一共展示了Client.delete_message方法的3個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Python代碼示例。
示例1: on_message
# 需要導入模塊: from discord import Client [as 別名]
# 或者: from discord.Client import delete_message [as 別名]
def on_message(client: discord.Client, message: discord.Message, args: list):
if message.channel.is_private:
return False
channel = moderate.data.get(message.server.id, {}).get("nsfw-channel")
if channel:
# Check if message includes keyword nsfw and a link
msg = message.content.lower()
if "nsfw" in msg and ("http://" in msg or "https://" in msg) and not message.channel == channel:
if message.server.me.permissions_in(message.channel).manage_messages:
yield from client.delete_message(message)
nsfw_channel = message.server.get_channel(moderate.data[message.server.id].get("nsfw-channel"))
if nsfw_channel:
yield from client.send_message(message.channel, "{}: **Please post NSFW content in {}**".format(
message.author.mention, nsfw_channel.mention
))
else:
yield from client.send_message(message.channel, "{}: **I did not find the specified NSFW channel.** "
"If you wish to remove this feature, see `!help "
"nsfwchannel`.".format(message.server.owner.mention))
return True
return False
示例2: on_message
# 需要導入模塊: from discord import Client [as 別名]
# 或者: from discord.Client import delete_message [as 別名]
def on_message(client: discord.Client, message: discord.Message, args: list):
user_id = message.author.id
# User alias check
if aliases.data.get(user_id):
success = False
user_aliases = aliases.data[user_id]
for name, command in user_aliases.items():
execute = False
msg = message.content
if not command.get("case-sensitive", False):
msg = msg.lower()
if command.get("anywhere", False):
if name in msg:
execute = True
else:
if msg.startswith(name):
execute = True
# Add any mentions to the alias
mention = ""
if message.mentions:
mentions = [member.mention for member in message.mentions]
mention = " =>(" + ", ".join(mentions) + ")"
if execute:
if command.get("delete-message", False):
if message.server.me.permissions_in(message.channel).manage_messages:
asyncio.async(client.delete_message(message))
asyncio.async(client.send_message(
message.channel,
"{}{}: {}".format(message.author.mention, mention, command.get("text")))
)
success = True
return success
# See if the user spelled definitely wrong
for spelling in ["definately", "definatly", "definantly", "definetly", "definently", "defiantly"]:
if spelling in message.clean_content:
yield from client.send_message(message.channel,
"{} http://www.d-e-f-i-n-i-t-e-l-y.com/".format(message.author.mention))
return True
return False
示例3: on_message
# 需要導入模塊: from discord import Client [as 別名]
# 或者: from discord.Client import delete_message [as 別名]
def on_message(client: discord.Client, message: discord.Message, args: list):
""" Here I'm using on_message instead of on_command in order to allow pastas
to be triggered by the | notation. """
if args[0] == "!pasta" or args[0].startswith("|"):
if args[0].startswith("|"):
org = args
args = ["!pasta", org[0][1:]]
args.extend(org[1:])
asyncio.async(client.delete_message(message))
if len(args) > 1:
# List copypastas
if args[1] == "-list":
page = 1
pasta_names = list(pastas.data.keys())
if len(args) > 2:
try:
page = int(args[2])
except ValueError:
page = 1
pasta_pages = []
# Divide pasta_names into list of pages
for i, pasta_name in enumerate(pasta_names):
p = int(i / page_size) # Current page number
if i % page_size == 0:
pasta_pages.append([])
pasta_pages[p].append(pasta_name)
# Don't go over page nor under
page = len(pasta_pages) if page > len(pasta_pages) else 1
m = "**Pastas (page {0}/{1}):** ```\n{2}\n```\n" \
"Use `!pasta -list [page]` to view another page.".format(page,
len(pasta_pages),
"\n".join(pasta_pages[page - 1]))
# Add a copypasta
elif args[1] == "--add":
if len(args) > 3:
pasta_name = args[2].lower()
pasta = " ".join(args[3:])
if not pastas.data.get(pasta_name):
pastas.data[pasta_name] = pasta
pastas.save()
m = "Pasta `{}` set.".format(pasta_name)
else:
m = "Pasta `{0}` already exists. " \
"You can remove it with `!pasta --remove {0}`".format(pasta_name)
else:
m = "Please follow the format of `!pasta --add <pastaname> <copypasta ...>`"
# Remove a pasta
elif args[1] == "--remove":
if len(args) > 2:
pasta_name = " ".join(args[2:]).lower()
pasta = pastas.data.get(pasta_name)
if pasta:
pastas.data.pop(pasta_name)
pastas.save()
m = "Pasta `{}` removed. In case this was a mistake, here's the pasta: ```{}```".format(
pasta_name, pasta
)
else:
m = "No pasta by name `{}`.".format(pasta_name)
else:
m = "Please specify a pasta to remove. `!pasta --remove <pastaname>`"
# Retrieve and send pasta
else:
if pastas.data:
if args[1] == ".":
m = choice(list(pastas.data.values()))
else:
m = pastas.data.get(" ".join(args[1:]).lower()) or \
"Pasta `{0}` is undefined. " \
"Define with `!pasta --add \"{0}\" <copypasta ...>`".format(" ".join(args[1:]))
else:
m = "There are no defined pastas. Define with `!pasta --add <pastaname> <copypasta ...>`"
# Download and send the image if m is a link to an image (png, jpg, etc) although not gifs
# if match(r"http[s]?://(?:[a-zA-Z]|[0-9]|[[email protected]&+]|[!*\(\),]|(?:%[0-9a-fA-F][0-9a-fA-F]))+", m):
# # TODO: Integrate aiohttp, disabled uploading for now.
# # Get the headers for the link before downloading the file
# request_head = requests.head(m)
# content_type = request_head.headers["content-type"]
#
# if request_head.ok and content_type.startswith("image") and "gif" not in content_type:
# asyncio.async(client.send_typing(message.channel)) # Send typing to the channel
# request = requests.get(m)
#
# file = BytesIO(request.content)
# filename = m
#
# if "content-disposition" in request.headers:
# if "filename" in request.headers["content-disposition"]:
# filename_match = search("filename=\"(?P<filename>\S+)\"",
#.........這裏部分代碼省略.........