Здравствуйте, пишу тикет бота, столкнулся с проблемой. Есть тикет меню которое отправляется на все сервера в указанный канал и там есть одна кнопка которая создает тикет.
И вот когда на эту кнопку нажимают с разных серверов то этот тикет создается на сервер ID которого находится в самом верху коллекции в базе данных
вот код:
@commands.Cog.listener()
async def on_ready(self):
for guild in self.bot.guilds:
category_id = self.collticku.find({'_id': guild.id})
category = guild.get_channel(category_id)
if not category:
pass
else:
support_id = self.collticku.find_one({'_id': guild.id})['support_id']
support = guild.get_role(support_id)
if not support:
pass
else:
channel_id = self.collticku.find_one({'_id': guild.id})['channel_id']
channel = guild.get_channel(channel_id)
if not channel:
pass
else:
emb1 = discord.Embed(
description = 'Создать тикет можно нажав кнопку ниже',
colour = 0x5865f2,
timestamp = datetime.datetime.now()
)
emb1.set_thumbnail(
url = guild.icon_url
)
msg1 = await channel.send(embed = emb1, components = [buttons1])
on_click = msg1.create_click_listener()
@on_click.matching_id('1_button')
async def on_report_button(inter):
member = inter.author
self.collticku.update_one({'_id': guild.id}, {'$inc': {'tnum': +1}})
num = self.collticku.find_one({'_id': guild.id})['tnum']
member_ticket_channel1 = await guild.create_text_channel(name = f"ticket-{num}", category = category)
await member_ticket_channel1.set_permissions(member, overwrite = discord.PermissionOverwrite(view_channel = True, send_messages = True, read_message_history = True))
await member_ticket_channel1.set_permissions(support, overwrite = discord.PermissionOverwrite(view_channel = True, send_messages = True, read_message_history = True))
await inter.reply(f'Ваш репорт был создан. Для перехода нажмите -> <#{member_ticket_channel1.id}>', ephemeral = True)
Помогите пожалуйста, уже не знаю что и делать все перепробовал. Ответа нигде не нашел