Просто вместо переменной total подставляешь строковую константу, либо в 'одинарных кавычках', либо в "двойных". Разницы нет, дело вкуса.
Я ж говорю, подучи основы питона сначала. Проще будет.
kelly123, кривой отступ. Либо неверное число пробелов, либо смешал пробелы и табуляции.
1. Настрой среду разработки (обычно рекомендуют отступ 4 пробела).
2. Если среда разработки позволяет, настрой отображение пробелов и табов. Если нет, либо расставь отступы заново, либо открой файл чем-то типа Notepad++, он это умеет.
Nomko, без скобок, т.е. print "что-то там" - это выражение. Как if или while.
Со скобками, т.е. print("что-то там") - это функция. Как min() или input().
В питоне 2.х print был особым, отдельным выражением, и скобок не требовал. Потом решили, что это неудобно и нелогично, и сделали print встроенной функцией, а выражение убрали. Так что увы, питон 2 и питон 3 - это заметно отличающиеся языки.
А вообще присоединюсь к комментаторам выше: лучше сразу учить питон в версии 3.x, используя хотя бы 3.7, а лучше 3.9. Там завезли много удобного, чтобы потом переучиваться не пришлось.
KerMan_KSP,
server_id INT - '{guild.id}'
Почему в целое поле кладёшь строку? Я же сказал, замени форматирование строк на плейсхолдеры, они сами позаботятся о типах и экранировании.
Далее, ты как, с основами реляционных БД знаком вообще? Если нет, ознакомься. Иначе будешь собирать грабли.
id уникальный для всех записей в таблице? Тогда id INT имеет смысл сделать PRIMARY KEY. Тогда можно будет избавиться от запроса SELECT, использовав синтаксис INSERT OR IGNORE INTO ...
Какой мессенджер?
Какая библиотека?
Что конкретно непонятно - как сделать обработку события "юзер оставил реакцию"? Как создать канал?
Какой код есть на настоящий момент?
Телепаты в отпуске, так что дополни вопрос (вопрос, а не ответ на комментарий!).
VP_Font, выводишь юникодную строку, но почему-то в кодировке вроде windows1251. Перекодируй.
(Я бы перекодировал сам, но тебе хватило ума вставить текст картинкой).
Сергей Горностаев, ну обычного школьника это отпугнёт. А так, понятно что любую защиту можно обойти. Как всегда, вопрос в соотношении ресурсов на защиту и взлом.
> database.add_row
Т.е. дело скорее всего не в socket.io, а в базе данных. Что за движок используется? Есть ли какая-либо библиотека посредник (потому что интерфейс не очень-то похож на типовой питоний интерфейс БД)? Как представлено поле message (тип данных, collate)?
Также можно для надёжности проверить, что json['text'] - это именно строка, через isinstance(json['text'], str). Но я думаю, это условие выполняется. В таком случае дело в том, что БД/обёртка над БД либо не переваривает юникод, либо предпочитает, чтобы ей передавали уже закодированный bytes.
Приведи код, минимально воспроизводящий проблему (не забудь про форматирование).
Также укажи используемые версии ПО, так как до 2.0 у socket.io были известные проблемы с юникодом.
pt3n4ik_3, bot.polling() читает события, приходящие от сервера Телеграм, и вызывает твои обработчики для подходящих событий.
Поэтому любое непойманное исключение в обработчики так или иначе всплывёт в bot.polling().
Я ж говорю, подучи основы питона сначала. Проще будет.