Телеграм-бот для голосований
Голоса тех, кто не проголосовал полностью (т.е. не подтвердил), не учитываются
python -m pip install requests bottle
- 9 из 10 файлов в рабочую папку проекта на paw (
/mysite/
по умолчанию) project_home
в файле_wsgi
должен совпадать с папкой выше- файл
_wsgi
в/var/www/
(доступен в paw с вкладки Web) help.md
должен лежать и в/mysite/
и уровнем выше (todo: fix)
- создать бота через BotFather, он должен иметь право добавлять людей
- создать группу (ботоадмином)
- превратить группу в супергруппу (добавить, например, админа), у группы изменится id
config.py.example
переименовать вconfig.py
, внести переменные (id группы, токен бота...)- запустить бота (
main.py
) через WSGI
- добавить в группу бота, если id неправильный, то он сразу выйдет
- добавить голосующих
- Три способа (метода) голосования вместо двух. Было
setsimple
простое (равновесное),setpriority
преференциальное (в пределах кол-ва мандатов). Добавлены режимыranklimit
преференциальное (в пределах кол-ва мандатов) иrankall
преференциальное (по всем кандидатам);setpriority
теперь синонимrankall
, аranklimit
остался, но не используется.rankall
используетlen(candidates)
вместоwincount
для ранжира,wincount
только отделяет победителей от прочих. БулеваpriorityVoting
заменена наvotingType
с тремя значениями. - Введена корректная обработка ситуации, когда количество мандатов и кандидатов совпадает. Для этого вставлен байпасс проверки ситуации "одинаково голосов" и исправлено сообщение под ситуацию "losers = None".
- Исправлена ссылка на голосование:
telegram.me/{BOT_NAME}?/start=start
наtelegram.me/{BOT_NAME}?start=start
- Исправлена ошибка при удалении/выходе человека из чата (лишний аргумент из старого кода).
- В config.py квадратичная прогрессия заменена на обычную.
- Уточнён текст некоторых сообщений, в том числе:
- Сообщение о баллах при преференциальном голосовании (было ошибочно при равновесном).
- Проверка и сообщение, что кандидат уже в списке (было молча).
- Сообщение при смене способа (метода) голосования (было молча).
Форк от проекта lpr-voting-bot
(с версии от 2023-08-30).