Ошибка `sqlite3.OperationalError: no such column: dfgeb` указывает на то, что в запросе SQL происходит попытка вставить значения в базу данных, но одно из значений не обрабатывается как строка, из-за чего интерпретатор SQLite воспринимает его как имя столбца. В данном случае, на это может указывать отсутствие кавычек вокруг строковых значений `name` и `about`.
Чтобы исправить эту ошибку, вам понадобятся кавычки для строковых значений в SQL-запросе. Также рекомендуется использовать параметризированные запросы для повышения безопасности приложения и предотвращения SQL-инъекций. Вот исправленный фрагмент кода:
```python
async def callback(self, inter: disnake.ModalInteraction):
name = inter.text_values['name']
age = inter.text_values['age']
about = inter.text_values['about']
c.execute("INSERT INTO user (id, name, age, about) VALUES (?, ?, ?, ?)",
(inter.author.id, name, age, about))
conn.commit()
```
В этом фрагменте я сделал несколько изменений:
1. Я добавил явное указание столбцов в `INSERT INTO user (id, name, age, about)`.
2. Я использовал `?` как параметры запроса, что позволяет SQLite корректно обрабатывать скобочки и кавычки.
3. Я передал значения как кортеж `(inter.author.id, name, age, about)` в качестве второго аргумента метода `execute`.
Эти изменения должны помочь вам избежать ошибок, связанных с неправильным форматом строк и сделать ваш код более безопасным.