chemdev, обычно они сталкиваются с тем, что внутри функции глобальная переменная недоступна и узнают про global, ну а потом начинают его пихать уже на автомате.
NQUAREx, насколько понимаю, там код написан сразу на python с реализацией того же протокола по аналогии.
"Через URL" нельзя, так как у Телеграма нет такого функционала. Раз нельзя, то либо осваивать функционал, который можно, либо может быть реализовать себе маленький сервис с HTTP для своих нужд, который позволяет свои частные задачи.
Какое из слов в фразе "message to delete not found" непонятно?
Не надо использовать тут global! Это будет приводить к проблемам при обращению к боту разными юзерами, при перезапуске бота итд итп. Кроме того, пользователь может успеть два раза нажать на кнопу до удаления сообщения, при обработке второго нажатия сообщения уже не будет.
Правильно брать id сообщения, в котором нажали кнопку, из call.message, точнее call.message.id.
Также для данного сценария (пользователь нажал на кнопку и получил меню следующего уровня) обычно сообщение не удаляют, а редактируют (bot.edit_message_text). Это ещё и лучше выглядит для пользователя, потому то при удалении и отправке нового сообщения между этими операциями успевает пройти некоторое время.
NQUAREx, клиентский API Телеграм строго бинарный (протокол MTProto). Есть реализации не только tdlib, но и на других языках, в частности, telethon и pyrogram на python.
Не надо учить плохому! Не нужно без необходимости ловить Exception, нужно ловить конкретную ошибку. В данном случае ValueError. А то потом пользователи привыкают везде ловить Exception и вылавливают/игнорируют исключения, случившиеся в недрах какого-то кода безо всякой внятной причины.
vldkr, именно так, блочат именно у мобильных провайдеров. И весьма очевидно почему. Власти очень боятся собственного народа на улицах с возможностью хоть куда-то ходить мимо одобренных сайтов, а надо совсем скоро провести марионеточные выборы. По проводу же люди ходят из дома, а не на улице.
SidVisceos, метод можно просто дописать :) Когда мне понадобилось из update достать поле, которое библиотека не трансформировала в поле класса, я просто напрямую забрал его из json. Отказываться от библиотеки для этого необязательно.
Всё равно это топикстартера не оправдывает в его нежелании читать документацию.
Vadimayer, немного погрузился в тему. Оказывается jdbc не умеет по умолчанию коннектиться к unix socket, и там нужна всякая магия, см. например тут или тут.
Но я бы лучше всё же разобразся, всё ли там норм с базой по локальному tcp.
Для начала надо глянуть, слушает ли база порт 3306:
netstat -lnp|grep 3306
Если нет - надо это лечить. Если да, то пытаться зайти из клиента mysql. Я вижу в комментариях к ответу, что не получилось. Но вот что я не понял: а как делался grant, если юзером root не удаётся соединиться?
gidwin, в конце концов, приводить кусок кода, в котором возникает ошибка, чтобы мы тут могли его обсуждать. А docker-compose.yml тут никак не помогает.
gidwin, в первую очередь перестать относится к этому как к мистическому действию. Не бывает "поменял и не заработало". Надо понять, какие значения правильные, какие возникли ошибки. Нашло ли приложение хост базы? Если не нашло - разбираться с этим. Если нашло - смогло ли законнектиться к ней? А точно ли база на том порту? А если к базе удалось законнектиться, но пароль неверный - может и правда неверный? Или может там в pg_hba.conf доступ по сети не разрешён? Последнее конечно вряд ли - это же готовый образ который делали умные люди - но всё же, надо уметь находить, на каком уровне случается проблема.
И сюда уже приходить с конкретикой: ошибками, логами итд.
Шерлок Холмс, обычная, которой курильщики сигарет пользуются :)
Предлагать генератор, который от тепла полусотни зажигалок выдаст 220 вольт не надо - это равнозначно написанию большого дополнительного кода к библиотеке, после которого это будет уже не aiogram, а aio-quadart-gram.
Шерлок Холмс, никак не обойти. Если в библиотеке нет такого параметра у метода, то его нет. Это как спрашивать, как получить 220 вольт от зажигалки... А никак, зажигалка не выдаёт 220 вольт.
Значит, в API aiogram нет параметра caption у этого метода. Пойти почитать документацию, что там у него есть. Возможно, это там просто отсутствует, тогда увы.