当前位置: 首页>>代码示例>>Python>>正文


Python discord.Object方法代码示例

本文整理汇总了Python中discord.Object方法的典型用法代码示例。如果您正苦于以下问题:Python discord.Object方法的具体用法?Python discord.Object怎么用?Python discord.Object使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在discord的用法示例。


在下文中一共展示了discord.Object方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。

示例1: subscribe_command

# 需要导入模块: import discord [as 别名]
# 或者: from discord import Object [as 别名]
def subscribe_command(self, ctx: Context, *_) -> None:  # We don't actually care about the args
        """Subscribe to announcement notifications by assigning yourself the role."""
        has_role = False

        for role in ctx.author.roles:
            if role.id == constants.Roles.announcements:
                has_role = True
                break

        if has_role:
            await ctx.send(f"{ctx.author.mention} You're already subscribed!")
            return

        log.debug(f"{ctx.author} called !subscribe. Assigning the 'Announcements' role.")
        await ctx.author.add_roles(Object(constants.Roles.announcements), reason="Subscribed to announcements")

        log.trace(f"Deleting the message posted by {ctx.author}.")

        await ctx.send(
            f"{ctx.author.mention} Subscribed to <#{constants.Channels.announcements}> notifications.",
        ) 
开发者ID:python-discord,项目名称:bot,代码行数:23,代码来源:verification.py

示例2: unsubscribe_command

# 需要导入模块: import discord [as 别名]
# 或者: from discord import Object [as 别名]
def unsubscribe_command(self, ctx: Context, *_) -> None:  # We don't actually care about the args
        """Unsubscribe from announcement notifications by removing the role from yourself."""
        has_role = False

        for role in ctx.author.roles:
            if role.id == constants.Roles.announcements:
                has_role = True
                break

        if not has_role:
            await ctx.send(f"{ctx.author.mention} You're already unsubscribed!")
            return

        log.debug(f"{ctx.author} called !unsubscribe. Removing the 'Announcements' role.")
        await ctx.author.remove_roles(Object(constants.Roles.announcements), reason="Unsubscribed from announcements")

        log.trace(f"Deleting the message posted by {ctx.author}.")

        await ctx.send(
            f"{ctx.author.mention} Unsubscribed from <#{constants.Channels.announcements}> notifications."
        )

    # This cannot be static (must have a __func__ attribute). 
开发者ID:python-discord,项目名称:bot,代码行数:25,代码来源:verification.py

示例3: proxy_user

# 需要导入模块: import discord [as 别名]
# 或者: from discord import Object [as 别名]
def proxy_user(user_id: str) -> discord.Object:
    """
    Create a proxy user object from the given id.

    Used when a Member or User object cannot be resolved.
    """
    log.trace(f"Attempting to create a proxy user for the user id {user_id}.")

    try:
        user_id = int(user_id)
    except ValueError:
        log.debug(f"Failed to create proxy user {user_id}: could not convert to int.")
        raise BadArgument(f"User ID `{user_id}` is invalid - could not convert to an integer.")

    user = discord.Object(user_id)
    user.mention = user.id
    user.display_name = f"<@{user.id}>"
    user.avatar_url_as = lambda static_format: None
    user.bot = False

    return user 
开发者ID:python-discord,项目名称:bot,代码行数:23,代码来源:converters.py

示例4: convert

# 需要导入模块: import discord [as 别名]
# 或者: from discord import Object [as 别名]
def convert(self, ctx: Context, arg: str) -> t.Union[discord.User, discord.Object]:
        """Convert the `arg` to a `discord.User` or `discord.Object`."""
        try:
            return await super().convert(ctx, arg)
        except BadArgument:
            pass

        try:
            user_id = int(arg)
            log.trace(f"Fetching user {user_id}...")
            return await ctx.bot.fetch_user(user_id)
        except ValueError:
            log.debug(f"Failed to fetch user {arg}: could not convert to int.")
            raise BadArgument(f"The provided argument can't be turned into integer: `{arg}`")
        except discord.HTTPException as e:
            # If the Discord error isn't `Unknown user`, return a proxy instead
            if e.code != 10013:
                log.info(f"Failed to fetch user, returning a proxy instead: status {e.status}")
                return proxy_user(arg)

            log.debug(f"Failed to fetch user {arg}: user does not exist.")
            raise BadArgument(f"User `{arg}` does not exist") 
开发者ID:python-discord,项目名称:bot,代码行数:24,代码来源:converters.py

示例5: _load_text_channels

# 需要导入模块: import discord [as 别名]
# 或者: from discord import Object [as 别名]
def _load_text_channels(self):
        log.debug(f"Loading text channels on {self.guild.id}")
        for tchannel in self.data["text_channels"]:
            try:
                created = await self.guild.create_text_channel(
                    name=tchannel["name"],
                    overwrites=await self._overwrites_from_json(tchannel["overwrites"]),
                    category=discord.Object(self.id_translator.get(tchannel["category"])),
                    reason=self.reason
                )

                self.id_translator[tchannel["id"]] = created.id
                await created.edit(
                    topic=self._translate_mentions(tchannel["topic"]),
                    nsfw=tchannel["nsfw"],
                )
            except Exception:
                pass 
开发者ID:Xenon-Bot,项目名称:xenon,代码行数:20,代码来源:backups.py

示例6: _load_voice_channels

# 需要导入模块: import discord [as 别名]
# 或者: from discord import Object [as 别名]
def _load_voice_channels(self):
        log.debug(f"Loading voice channels on {self.guild.id}")
        for vchannel in self.data["voice_channels"]:
            try:
                created = await self.guild.create_voice_channel(
                    name=vchannel["name"],
                    overwrites=await self._overwrites_from_json(vchannel["overwrites"]),
                    category=discord.Object(self.id_translator.get(vchannel["category"])),
                    reason=self.reason
                )
                await created.edit(
                    bitrate=vchannel["bitrate"],
                    user_limit=vchannel["user_limit"]
                )
                self.id_translator[vchannel["id"]] = created.id
            except Exception:
                pass 
开发者ID:Xenon-Bot,项目名称:xenon,代码行数:19,代码来源:backups.py

示例7: ten_recent_msg

# 需要导入模块: import discord [as 别名]
# 或者: from discord import Object [as 别名]
def ten_recent_msg(self) -> List[int]:
        """Get the last 10 messages sent in the channel."""
        ten_recent = []
        recent_msg_id = max(
            message.id for message in self.bot._connection._messages
            if message.channel.id == Channels.seasonalbot_commands
        )

        channel = await self.hacktober_channel()
        ten_recent.append(recent_msg_id)

        for i in range(9):
            o = discord.Object(id=recent_msg_id + i)
            msg = await next(channel.history(limit=1, before=o))
            ten_recent.append(msg.id)

        return ten_recent 
开发者ID:python-discord,项目名称:seasonalbot,代码行数:19,代码来源:candy_collection.py

示例8: on_channel_delete

# 需要导入模块: import discord [as 别名]
# 或者: from discord import Object [as 别名]
def on_channel_delete(self, channel):
		try:
			sql = "SELECT server,channel FROM `logs` WHERE server={0}"
			sql = sql.format(channel.server.id)
			result = self.cursor.execute(sql).fetchall()
			if len(result) == 0:
				return
			chan = str(result[0]['channel'])
			if channel.id == chan:
				remove_sql = "DELETE FROM `logs` WHERE server={0}"
				remove_sql = remove_sql.format(channel.server.id)
				self.cursor.execute(remove_sql)
				self.cursor.commit()
				return
			server = str(result[0]['server'])
			if channel.server.id != server:
				return
			a = channel.server
			msg = "{0} Channel: {1} <{2}>\n".format("Voice" if channel.type == discord.ChannelType.voice else "Text", channel.name, channel.id).replace("'", "")
			target = discord.Object(id=chan)
			await self.bot.send_message(target, "`[{0}]` :x: **Channel Delete Log**\n".format(time.strftime("%I:%M:%S %p"))+cool.format(msg))
		except (discord.errors.Forbidden, discord.errors.NotFound, discord.errors.InvalidArgument):
			self.remove_server(channel.server) 
开发者ID:NotSoSuper,项目名称:NotSoBot,代码行数:25,代码来源:Logs.py

示例9: on_member_join

# 需要导入模块: import discord [as 别名]
# 或者: from discord import Object [as 别名]
def on_member_join(self, member):
		try:
			if member == self.bot.user:
				return
			check = await self.is_ignored(None, user=True, global_only=True, u=member, server=member.server)
			if check:
				return
			sql = "SELECT server,channel FROM `logs` WHERE server={0}"
			sql = sql.format(member.server.id)
			result = self.cursor.execute(sql).fetchall()
			if len(result) == 0:
				return
			channel = str(result[0]['channel'])
			server = str(result[0]['server'])
			if member.server.id != server:
				return
			a = member.server
			msg = "Member Joined: {0.name} <{0.id}>\n".format(member)
			msg += "Server: {0.name} <{0.id}>\n".format(a).replace("'", "")
			target = discord.Object(id=channel)
			await self.bot.send_message(target, "`[{0}]` :inbox_tray: **Member Join Log**\n".format(time.strftime("%I:%M:%S %p"))+cool.format(msg))
		except (discord.errors.Forbidden, discord.errors.NotFound, discord.errors.InvalidArgument):
			self.remove_server(member.server) 
开发者ID:NotSoSuper,项目名称:NotSoBot,代码行数:25,代码来源:Logs.py

示例10: on_member_remove

# 需要导入模块: import discord [as 别名]
# 或者: from discord import Object [as 别名]
def on_member_remove(self, member):
		try:
			if member == self.bot.user:
				return
			check = await self.is_ignored(None, user=True, global_only=True, u=member, server=member.server)
			if check:
				return
			sql = "SELECT server,channel FROM `logs` WHERE server={0}"
			sql = sql.format(member.server.id)
			result = self.cursor.execute(sql).fetchall()
			if len(result) == 0:
				return
			if member.server.id in self.banned_users:
				if member.id in self.banned_users[member.server.id]:
					return
			channel = str(result[0]['channel'])
			server = str(result[0]['server'])
			if member.server.id != server:
				return
			a = member.server
			msg = "User: {0.name} <{0.id}>\n".format(member)
			target = discord.Object(id=channel)
			await self.bot.send_message(target, "`[{0}]` :outbox_tray: **Member Leave/Kick Log**\n".format(time.strftime("%I:%M:%S %p"))+cool.format(msg))
		except (discord.errors.Forbidden, discord.errors.NotFound, discord.errors.InvalidArgument):
			self.remove_server(member.server) 
开发者ID:NotSoSuper,项目名称:NotSoBot,代码行数:27,代码来源:Logs.py

示例11: on_member_ban

# 需要导入模块: import discord [as 别名]
# 或者: from discord import Object [as 别名]
def on_member_ban(self, member):
		try:
			if member == self.bot.user:
				return
			check = await self.is_ignored(None, user=True, global_only=True, u=member, server=member.server)
			if check:
				return
			sql = "SELECT server,channel FROM `logs` WHERE server={0}"
			sql = sql.format(member.server.id)
			result = self.cursor.execute(sql).fetchall()
			if len(result) == 0:
				return
			if member.server.id in self.banned_users:
				self.banned_users[member.server.id] += member.id
			else:
				self.banned_users[member.server.id] = [member.id]
			channel = str(result[0]['channel'])
			server = str(result[0]['server'])
			if member.server.id != server:
				return
			msg = "User: {0} <{0.id}>\n".format(member)
			target = discord.Object(id=channel)
			await self.bot.send_message(target, "`[{0}]` :outbox_tray: **Member Ban Log**\n".format(time.strftime("%I:%M:%S %p"))+cool.format(msg))
		except (discord.errors.Forbidden, discord.errors.NotFound, discord.errors.InvalidArgument):
			self.remove_server(member.server) 
开发者ID:NotSoSuper,项目名称:NotSoBot,代码行数:27,代码来源:Logs.py

示例12: on_member_unban

# 需要导入模块: import discord [as 别名]
# 或者: from discord import Object [as 别名]
def on_member_unban(self, server, member):
		try:
			if member == self.bot.user:
				return
			check = await self.is_ignored(None, user=True, global_only=True, u=member, server=server)
			if check:
				return
			sql = "SELECT server,channel FROM `logs` WHERE server={0}"
			sql = sql.format(server.id)
			result = self.cursor.execute(sql).fetchall()
			if len(result) == 0:
				return
			channel = str(result[0]['channel'])
			serverr = str(result[0]['server'])
			if server.id != serverr:
				return
			msg = "Unbanned User: {0} <{0.id}>\n".format(member)
			target = discord.Object(id=channel)
			await self.bot.send_message(target, "`[{0}]` :white_check_mark: **Member Unban Log**\n".format(time.strftime("%I:%M:%S %p"))+cool.format(msg))
		except (discord.errors.Forbidden, discord.errors.NotFound, discord.errors.InvalidArgument):
			self.remove_server(server) 
开发者ID:NotSoSuper,项目名称:NotSoBot,代码行数:23,代码来源:Logs.py

示例13: on_server_role_create

# 需要导入模块: import discord [as 别名]
# 或者: from discord import Object [as 别名]
def on_server_role_create(self, role):
		try:
			sql = "SELECT server,channel FROM `logs` WHERE server={0}"
			sql = sql.format(role.server.id)
			result = self.cursor.execute(sql).fetchall()
			if len(result) == 0:
				return
			channel = str(result[0]['channel'])
			server = str(result[0]['server'])
			if role.server.id != server:
				return
			target = discord.Object(id=channel)
			msg = "Server Role Created: {0}\n".format(role.name)
			await self.bot.send_message(target, "`[{0}]` :bangbang: **Server Roles Create Log**\n".format(time.strftime("%I:%M:%S %p"))+cool.format(msg))
		except (discord.errors.Forbidden, discord.errors.NotFound, discord.errors.InvalidArgument):
			self.remove_server(role.server) 
开发者ID:NotSoSuper,项目名称:NotSoBot,代码行数:18,代码来源:Logs.py

示例14: on_server_role_delete

# 需要导入模块: import discord [as 别名]
# 或者: from discord import Object [as 别名]
def on_server_role_delete(self, role):
		try:
			sql = "SELECT server,channel FROM `logs` WHERE server={0}"
			sql = sql.format(role.server.id)
			result = self.cursor.execute(sql).fetchall()
			if len(result) == 0:
				return
			channel = str(result[0]['channel'])
			server = str(result[0]['server'])
			if role.server.id != server:
				return
			target = discord.Object(id=channel)
			r_b = ', '.join(map(str, role.server.roles))
			msg = "Server Role Deleted: {0}\n".format(role.name)
			await self.bot.send_message(target, "`[{0}]` :bangbang: **Server Roles Delete Log**\n".format(time.strftime("%I:%M:%S %p"))+cool.format(msg))
		except (discord.errors.Forbidden, discord.errors.NotFound, discord.errors.InvalidArgument):
			self.remove_server(role.server) 
开发者ID:NotSoSuper,项目名称:NotSoBot,代码行数:19,代码来源:Logs.py

示例15: hackban

# 需要导入模块: import discord [as 别名]
# 或者: from discord import Object [as 别名]
def hackban(self, ctx, *users:str):
		banned = []
		for user in users:
			u = discord.Object(id=user)
			u.server = ctx.message.server
			try:
				await self.bot.ban(u)
				banned.append(user)
			except:
				uu = ctx.message.server.get_member(user)
				if uu is None:
					await self.bot.say('`{0}` could not be hack banned.'.format(user))
				else:
					await self.bot.say('`{0}` is already on the server and could not be banned.'.format(uu))
				continue
		if banned:
			await self.bot.say(':white_check_mark: Hackbanned `{0}`!'.format(", ".join(banned))) 
开发者ID:NotSoSuper,项目名称:NotSoBot,代码行数:19,代码来源:Moderation.py


注:本文中的discord.Object方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。