Даниил Ян, я несу что надо было прикладывать программный код, которым ты сгенерил проблемный GUI, чтобы желающие могли воспроизвести проблему. Так, совет на будущее.
Straxd, ты вызываешь функцию Gen(). И она отрабатывает. Целиком, да. И возвращает тебе значение. Которое ты выбрасываешь, вместо того, чтобы присвоить переменным file_name и pattern, как ты это делаешь в первой строке.
Сделай второй вызов по образцу первого, и всё заработает.
Mister Cat, Питон не имеет строго приватных переменных, но у него есть как-бы приватные переменные с помощью name mangling. Переменная, чьё имя начинается с двух подчёркиваний (dunder), но не заканчивается ими, считается приватной, и её имя меняется по простому алгоритму.
Если ты заменишь __name на _name с одним подчёркиванием, имя переменной не будет подвергаться mangling'у, а останется как есть.
Выведи в консоль repr(prid_data) - там будет один символ в кавычках, или ещё что-то?
И да, что будешь делать, если срок бана >9 единиц времени, т.е. двузначное число?
Corn385, во-первых, зачем ты добавляешь кнопку дважды?
Во-вторых, читай мой ответ
Ну тот факт, что ты не посылаешь сообщение, к которому будет прикреплена клавиатура (а сама по себе она не бывает!), это уже мелочи.
От того, что ты создал клавиатуру, ничего не изменится. Тебе нужно отправить пользователю сообщение, и прикрепить клавиатуру к нему.
Смотри пример на гитхабе.
bybacapitan, если текст меняется от раза к разу, то тут нужно будет картинку синтезировать сначала.
Но синтезировать можно и чем попроще opencv, тем же питон-пакетом pillow (PIL).
Смотри сам, в общем, пробуй и то и то.