Что лучше вытаскивать данные из БД(sqlite) или хранить в неких переменных?
Если данные критичные и недопустима их потеря - хранить в БД, если допустимо их потерять из-за ошибок, отключений и прочего - хранить в переменных. Если и то и то, накапливать какое-то количество данных и скидывать в БД сразу батчем по таймеру или по достижению определенного размера.
async def on_message(self, message: Message): ...
on_message это событие, которое срабатывает на каждое сообщение, каждого пользователя. На среднего размера боте с несколькими сотнями серверов в активное вечернее время оно может дергаться тысячи раз в секунду, как сами думаете, насколько адекватно в таком событии ходить в базу? Насколько часто меняются каналы, чтобы каждый раз их доставать из БД? Знаешь ли условия, при которых данные в базе меняются и их нужно повторно перечитать?
guild_id = message.guild.id
Как думаете, что лежит в guild, если боту пишут в личные сообщения?
Либо включайте голову и думайте почему вы делаете то или иное действие: нужны ли вам данные на чтение или на запись, могут ли они одновременно измениться, обрабатываются ли корнер кейсы и прочее или пишите как пишется, оптимизацией займетесь если дойдете до того, что она понадобится.
Подскажите, как лучше для оптимизации процессов, и где можно на будущие брать полезную информацию о python.
Читать книги, слушать подкасты, ходить на конференции.