Genabox
я это и имел ввиду в базе стоит пометка на чем бот остановился
Я понял, но я-то беру выше. Концепция состояний, между которыми переходит бот, даёт возможность очертить их, найти их все, рассмотреть каждое в отдельности и спроектировать всю модель в конечном виде. Когда модель бота построена, тогда можно и выбирать, через что эту модель реализовывать, через СУБД с SQL или через простые файлы, например, для которых дополнительные установки каких-то СУБД не требуются.
Genabox
писать самому
ну вот мануал к nextcord
Прекрасная система. Но вот что я тебе скажу. Сначала я поставил Slack и пользовался им, там я написал несколько ботов. Потом я всем этим пользовался и поставил Telegram. И я подумал “а что, если этих Slack'овских ботов перенести и в Telegram ещё?”, так я практически без изменений перенёс одного бота из Slack в Telegram. Немного на это времени ушло. Сейчас у меня ещё Discord добавился и я думаю “переносить мне этого бота в Discord или нет?”. Потом Heroku накрылся (бесплатный стал платным) и боты, которые запускались на нём, отвалились у меня. Я тогда вообще этого бота переписал полностью на смартфон в виде приложения под Android. С Python на Java переписал с дополнительной обработкой Android'ных нюансов. Так вот бота из Slack в Telegram я переносил практически без изменений. Перенести этого бота из Slack в Discord или из Telegram в Discord тоже можно было бы без изменений. Если бы боты продолжали работать на бесплатном хостинге, я бы так и сделал и приложение для Android не писал бы это, пользовался бы ботами на смартфоне.
Это вот я к чему. Система nextcord хоть и хорошая система, но она работает только с Discord'ом. Если бы я написал бота только для Slack или только для Telegram, я бы не смог его потом переносить быстро в любой другой мессенджер. Мне бы каждый раз приходилось писать этого бота заново, копируя лишь маленькие кусочки из уже существующего бота. Сейчас вот WhatsApp добавит ботов, например, и я уже знаю, что я смогу своего бота из Slack'а поставить в WhatsApp.
Я тебе скажу больше. Если ботов правильно пишешь, то их можно не только между мессенджерами переносить, но и перенести, например, из мессенджера на сайт, чтобы сайт мог этим ботом пользоваться без какого-либо участия мессенджера.
Genabox
то можно готовые сурсы брать и своим функционалом обвешивать
Да, и будешь сто таких вариантов искать и писать под каждый мессенджер. Потом будешь плакать “ой, вот у меня в Discord'е есть такой бот, а в Telegram'е нету; где бы мне взять библиотечку под Telegram, почему её нет? для Discrod'а ведь есть, это несправедливо!”. Так ты и будешь побираться и собирать системы в виде костыль на костыле костылём погоняет, пока не научишься себе сам всё писать сразу в чистом виде с хорошей кроссплатформенностью. У программ должна быть высокая когезия (cohesion) и низкий каплинг (coupling). Ты же, привязываясь кодом к nextcord'у, повышаешь каплинг бота, что потом будет требовать наличия nextcord'а на другом мессенджере. А там его не будет.
Genabox
а если для работы как мне понадобился или этому джентельмену
Он изучает питон
indiwiduum
Самостоятельно изучаю Python
Это значит, что ему нужно научиться, а не сделать одну прогу какую-то нужную и забыть о языке после этого.
Проблема в том, что он, как и любой новичок, думает, что программирование - это просто. Типа раньше языков не было типа питона, поэтому раньше программирование было сложным, а сейчас питон появился и программирование стало простым вдруг. А это-то не так. Поэтому, имея такое предположение о простоте написания программ, он пытается сходу получить всё и сразу. Он попытался прямо в коде получить разные состояния бота здесь и сейчас, потому что это просто понять. Я же ему хочу сказать, что за каждым простым ботом, которым просто пользоваться, может скрываться пятиэтажка. А чтобы построить пятиэтажку, нужен план строительства. И без плана просто навалить бетонных плит как-то примерно прямоугольно и таким образом настроить кучу этажей и получить пятиэтажку не получится. Хочешь построить пятиэтажку, построй сарай хотя бы, в котором безопасно без каски можно находиться, или даже хотя бы простую табуретку сделай, чтобы на ней сидеть можно было, не качаясь из-за разной длины ножек.