@persona_per

Как выводить значения row[0] в разные опции Select Menu?

Я хочу чтобы в Select Menu выводились ники пользователей из базы данных, но не могу вывести каждое значение из row[0] в отдельную опцию Select Menu. При использовании кода ниже в Select Menu выводиться только последнее значение из row[0].

import discord
from discord.ui import Select, View, Modal, TextInput, Button
from discord.ext import commands
import sqlite3

@bot.command()
async def test(ctx):
    await ctx.send("test", view = PanrView())


class Panr(discord.ui.Select):
    def __init__ (self):
        sqlite_select_query = """SELECT * from kp"""
        cursor.execute(sqlite_select_query)
        records = cursor.fetchall()
        print("Всего строк:  ", len(records))
        print("Вывод каждой строки")
        for row in records:
            print("ник:", row[0])
            options=[
                discord.SelectOption(label=row[0]) 
            ]
           
            super().__init__(placeholder="Панель управления",max_values=1,min_values=1,options=options)
    async def callback(self, i):
        await i.response.send_message("выбран пользователь")

class PanrView(discord.ui.View):
    def __init__(self, *, timeout = 180):
        super().__init__(timeout=timeout)
        self.add_item(Panr())
  • Вопрос задан
  • 41 просмотр
Решения вопроса 1
Vindicar
@Vindicar
RTFM!
Ну так голову-то включи.
for row in records:
    print("ник:", row[0])
    options=[
        discord.SelectOption(label=row[0])
     ]

Ты options перезаписывашеь каждый раз, вместо того, чтобы создать этот список перед циклом, и добавлять в него элементы.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы