Здравствуйте!
Возникла проблема, функция prefix_in_guild, должна принимать префикс сервера с БД:
cursor = conn.cursor()
def prefix_in_guild(bot,message):
guildid = message.guild.id
cursor.execute(f'SELECT prefix FROM public."prefixDB" WHERE guild_id = \'{guildid}\';')
prefix = cursor.fetchone()
conn.commit()
return prefix
class HelpCommands(commands.Cog):
def __init__(self, bot):
self.bot = bot
@commands.group(name='help',aliases=['helpcmd','i','helpcommands'], invoke_without_command=True)
async def help_for_commands(self, ctx):
await ctx.channel.purge(limit=1)
emb= discord.Embed(title=f'Команды бота {self.bot.user.name}', description='Здесь вы узнаете информацию про все команды бота\n')
emb.add_field(name='**Другая информация**',value=f'Чтобы получить больше информации о какой либо команде, вы можете написать: {prefix_in_guild}help `команда` \nТак же, вы можете нажать на реакцию под сообщением, чтобы переключить страницу.\n'.)
emb1= discord.Embed(title='Команды информации', description='Что бы узнать больше о команде напишите {prefix_in_guild}help [команда]. \n**Пример**: {prefix_in_guild}help user')
emb1.add_field(name='**Команды**', value=f'`{prefix_in_guild}user`\n`{prefix_in_guild}ping`\n`{prefix_in_guild}bot_servers`\n`{prefix_in_guild}tuser`\n')
emb2=discord.Embed(title='Команды администрации', description=f'`{prefix_in_guild}change_prefix` или `{prefix_in_guild}prefix`')
embeds=[emb,emb1,emb2]
message= await ctx.send(embed= emb)
page= pag(self.bot, message, only=ctx.author, use_more=False, embeds=embeds, color=0x008000, time_stamp=True)
await page.start()
Но вместо префикса я получаю:
<function get_prefix at 0x7f74ae131280>
Функцию prefix_in_guild написал с готовой, рабочей функции:
def get_prefix(bot, message):
guildid = message.guild.id
cursor.execute(f'SELECT prefix FROM public."prefixDB" WHERE guild_id = \'{guildid}\';')
prefix = cursor.fetchone()
conn.commit()
return prefix
bot=commands.Bot(command_prefix = get_prefix, help_command=None)
Если написать так
def prefix_in_guild(bot, message):
guildid = message.guild.id
cursor.execute(f'SELECT prefix FROM public."prefixDB" WHERE guild_id = \'{guildid}\';')
prefix = cursor.fetchone()
conn.commit()
return prefix
class HelpCommands(commands.Cog):
def __init__(self, bot):
self.bot = bot
@commands.group(name='help',aliases=['helpcmd','i','helpcommands'], invoke_without_command=True)
async def help_for_commands(self, ctx):
await ctx.channel.purge(limit=1)
prefix = prefix_in_guild(self.bot, ctx.message)
emb= discord.Embed(title=f'Команды бота {self.bot.user.name}', description='Здесь вы узнаете информацию про все команды бота\n')
emb.add_field(name='**Другая информация**',value=f'Чтобы получить больше информации о какой либо команде, вы можете написать: {prefix}help `команда` \nТак же, вы можете нажать на реакцию под сообщением, чтобы переключить страницу.\n')
То получится:
А нужно без кавычек и комы, просто точка
Заранее спасибо!!!