[docs] copy signature from overridden and inherited methods
This commit is contained in:
parent
862d509d2e
commit
d6501159e7
@ -141,6 +141,7 @@ class TextChannel(discord.abc.Messageable, discord.abc.GuildChannel, Hashable):
|
|||||||
def _sorting_bucket(self):
|
def _sorting_bucket(self):
|
||||||
return ChannelType.text.value
|
return ChannelType.text.value
|
||||||
|
|
||||||
|
@utils.copy_doc(discord.abc.GuildChannel.permissions_for)
|
||||||
def permissions_for(self, member):
|
def permissions_for(self, member):
|
||||||
base = super().permissions_for(member)
|
base = super().permissions_for(member)
|
||||||
|
|
||||||
@ -149,8 +150,6 @@ class TextChannel(discord.abc.Messageable, discord.abc.GuildChannel, Hashable):
|
|||||||
base.value &= ~denied.value
|
base.value &= ~denied.value
|
||||||
return base
|
return base
|
||||||
|
|
||||||
permissions_for.__doc__ = discord.abc.GuildChannel.permissions_for.__doc__
|
|
||||||
|
|
||||||
@property
|
@property
|
||||||
def members(self):
|
def members(self):
|
||||||
"""List[:class:`Member`]: Returns all members that can see this channel."""
|
"""List[:class:`Member`]: Returns all members that can see this channel."""
|
||||||
@ -240,6 +239,7 @@ class TextChannel(discord.abc.Messageable, discord.abc.GuildChannel, Hashable):
|
|||||||
"""
|
"""
|
||||||
await self._edit(options, reason=reason)
|
await self._edit(options, reason=reason)
|
||||||
|
|
||||||
|
@utils.copy_doc(discord.abc.GuildChannel.clone)
|
||||||
async def clone(self, *, name=None, reason=None):
|
async def clone(self, *, name=None, reason=None):
|
||||||
return await self._clone_impl({
|
return await self._clone_impl({
|
||||||
'topic': self.topic,
|
'topic': self.topic,
|
||||||
@ -247,8 +247,6 @@ class TextChannel(discord.abc.Messageable, discord.abc.GuildChannel, Hashable):
|
|||||||
'rate_limit_per_user': self.slowmode_delay
|
'rate_limit_per_user': self.slowmode_delay
|
||||||
}, name=name, reason=reason)
|
}, name=name, reason=reason)
|
||||||
|
|
||||||
clone.__doc__ = discord.abc.GuildChannel.clone.__doc__
|
|
||||||
|
|
||||||
async def delete_messages(self, messages):
|
async def delete_messages(self, messages):
|
||||||
"""|coro|
|
"""|coro|
|
||||||
|
|
||||||
@ -651,6 +649,7 @@ class VoiceChannel(discord.abc.Connectable, discord.abc.GuildChannel, Hashable):
|
|||||||
"""
|
"""
|
||||||
return {key: value for key, value in self.guild._voice_states.items() if value.channel.id == self.id}
|
return {key: value for key, value in self.guild._voice_states.items() if value.channel.id == self.id}
|
||||||
|
|
||||||
|
@utils.copy_doc(discord.abc.GuildChannel.permissions_for)
|
||||||
def permissions_for(self, member):
|
def permissions_for(self, member):
|
||||||
base = super().permissions_for(member)
|
base = super().permissions_for(member)
|
||||||
|
|
||||||
@ -662,16 +661,13 @@ class VoiceChannel(discord.abc.Connectable, discord.abc.GuildChannel, Hashable):
|
|||||||
base.value &= ~denied.value
|
base.value &= ~denied.value
|
||||||
return base
|
return base
|
||||||
|
|
||||||
permissions_for.__doc__ = discord.abc.GuildChannel.permissions_for.__doc__
|
@utils.copy_doc(discord.abc.GuildChannel.clone)
|
||||||
|
|
||||||
async def clone(self, *, name=None, reason=None):
|
async def clone(self, *, name=None, reason=None):
|
||||||
return await self._clone_impl({
|
return await self._clone_impl({
|
||||||
'bitrate': self.bitrate,
|
'bitrate': self.bitrate,
|
||||||
'user_limit': self.user_limit
|
'user_limit': self.user_limit
|
||||||
}, name=name, reason=reason)
|
}, name=name, reason=reason)
|
||||||
|
|
||||||
clone.__doc__ = discord.abc.GuildChannel.clone.__doc__
|
|
||||||
|
|
||||||
async def edit(self, *, reason=None, **options):
|
async def edit(self, *, reason=None, **options):
|
||||||
"""|coro|
|
"""|coro|
|
||||||
|
|
||||||
@ -784,13 +780,12 @@ class CategoryChannel(discord.abc.GuildChannel, Hashable):
|
|||||||
""":class:`bool`: Checks if the category is NSFW."""
|
""":class:`bool`: Checks if the category is NSFW."""
|
||||||
return self.nsfw
|
return self.nsfw
|
||||||
|
|
||||||
|
@utils.copy_doc(discord.abc.GuildChannel.clone)
|
||||||
async def clone(self, *, name=None, reason=None):
|
async def clone(self, *, name=None, reason=None):
|
||||||
return await self._clone_impl({
|
return await self._clone_impl({
|
||||||
'nsfw': self.nsfw
|
'nsfw': self.nsfw
|
||||||
}, name=name, reason=reason)
|
}, name=name, reason=reason)
|
||||||
|
|
||||||
clone.__doc__ = discord.abc.GuildChannel.clone.__doc__
|
|
||||||
|
|
||||||
async def edit(self, *, reason=None, **options):
|
async def edit(self, *, reason=None, **options):
|
||||||
"""|coro|
|
"""|coro|
|
||||||
|
|
||||||
@ -946,6 +941,7 @@ class StoreChannel(discord.abc.GuildChannel, Hashable):
|
|||||||
""":class:`ChannelType`: The channel's Discord type."""
|
""":class:`ChannelType`: The channel's Discord type."""
|
||||||
return ChannelType.store
|
return ChannelType.store
|
||||||
|
|
||||||
|
@utils.copy_doc(discord.abc.GuildChannel.permissions_for)
|
||||||
def permissions_for(self, member):
|
def permissions_for(self, member):
|
||||||
base = super().permissions_for(member)
|
base = super().permissions_for(member)
|
||||||
|
|
||||||
@ -954,19 +950,16 @@ class StoreChannel(discord.abc.GuildChannel, Hashable):
|
|||||||
base.value &= ~denied.value
|
base.value &= ~denied.value
|
||||||
return base
|
return base
|
||||||
|
|
||||||
permissions_for.__doc__ = discord.abc.GuildChannel.permissions_for.__doc__
|
|
||||||
|
|
||||||
def is_nsfw(self):
|
def is_nsfw(self):
|
||||||
""":class:`bool`: Checks if the channel is NSFW."""
|
""":class:`bool`: Checks if the channel is NSFW."""
|
||||||
return self.nsfw
|
return self.nsfw
|
||||||
|
|
||||||
|
@utils.copy_doc(discord.abc.GuildChannel.clone)
|
||||||
async def clone(self, *, name=None, reason=None):
|
async def clone(self, *, name=None, reason=None):
|
||||||
return await self._clone_impl({
|
return await self._clone_impl({
|
||||||
'nsfw': self.nsfw
|
'nsfw': self.nsfw
|
||||||
}, name=name, reason=reason)
|
}, name=name, reason=reason)
|
||||||
|
|
||||||
clone.__doc__ = discord.abc.GuildChannel.clone.__doc__
|
|
||||||
|
|
||||||
async def edit(self, *, reason=None, **options):
|
async def edit(self, *, reason=None, **options):
|
||||||
"""|coro|
|
"""|coro|
|
||||||
|
|
||||||
|
@ -335,7 +335,6 @@ class Context(discord.abc.Messageable):
|
|||||||
except CommandError as e:
|
except CommandError as e:
|
||||||
await cmd.on_help_command_error(self, e)
|
await cmd.on_help_command_error(self, e)
|
||||||
|
|
||||||
|
@discord.utils.copy_doc(discord.Message.reply)
|
||||||
async def reply(self, content=None, **kwargs):
|
async def reply(self, content=None, **kwargs):
|
||||||
return await self.message.reply(content, **kwargs)
|
return await self.message.reply(content, **kwargs)
|
||||||
|
|
||||||
reply.__doc__ = discord.Message.reply.__doc__
|
|
||||||
|
@ -119,7 +119,7 @@ def flatten_user(cls):
|
|||||||
return general
|
return general
|
||||||
|
|
||||||
func = generate_function(attr)
|
func = generate_function(attr)
|
||||||
func.__doc__ = value.__doc__
|
func = utils.copy_doc(value)(func)
|
||||||
setattr(cls, attr, func)
|
setattr(cls, attr, func)
|
||||||
|
|
||||||
return cls
|
return cls
|
||||||
|
@ -32,7 +32,7 @@ from base64 import b64encode
|
|||||||
from bisect import bisect_left
|
from bisect import bisect_left
|
||||||
import datetime
|
import datetime
|
||||||
import functools
|
import functools
|
||||||
from inspect import isawaitable as _isawaitable
|
from inspect import isawaitable as _isawaitable, signature as _signature
|
||||||
from operator import attrgetter
|
from operator import attrgetter
|
||||||
import json
|
import json
|
||||||
import re
|
import re
|
||||||
@ -110,6 +110,13 @@ def parse_time(timestamp):
|
|||||||
return datetime.datetime(*map(int, re.split(r'[^\d]', timestamp.replace('+00:00', ''))))
|
return datetime.datetime(*map(int, re.split(r'[^\d]', timestamp.replace('+00:00', ''))))
|
||||||
return None
|
return None
|
||||||
|
|
||||||
|
def copy_doc(original):
|
||||||
|
def decorator(overriden):
|
||||||
|
overriden.__doc__ = original.__doc__
|
||||||
|
overriden.__signature__ = _signature(original)
|
||||||
|
return overriden
|
||||||
|
return decorator
|
||||||
|
|
||||||
def deprecated(instead=None):
|
def deprecated(instead=None):
|
||||||
def actual_decorator(func):
|
def actual_decorator(func):
|
||||||
@functools.wraps(func)
|
@functools.wraps(func)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user