saber-nyan / pod042-bot Goto Github PK
View Code? Open in Web Editor NEWYet another useless Telegram bot
License: Apache License 2.0
Yet another useless Telegram bot
License: Apache License 2.0
Возможно, запилить это как настройку.
Описано здесь: eternnoir/pyTelegramBotAPI#473
По команде или подписке (например, каждую неделю).
У владельца бота будет команда /write chat_id message
, а сам chat_id
будет браться из логов/командой /get_chats
.
Сама команда заставит бота писать в указанном чате указанное сообщение.
Найти гифки!
Судя по логам: команды неочевидны, способы входа/выхода в состояния непонятны.
Также было бы неплохо использовать Inline Keyboard где это возможно.
При включенном логгировании названия бесед никак не экранируются.
Поэтому можно поставить название беседы как ../../../../../../../../lol
и перезаписать файл, на который у текущего юзера есть права.
Именно поэтому не запускать сервис от рута было отличной идеей.
Трейс:
янв 25 20:45:26 server.baka python[29285]: Traceback (most recent call last):
янв 25 20:45:26 server.baka python[29285]: File "/home/saber-nyan/Documents/WORKDIR/venv/lib/python3.6/site-packages/pod042-bot/__main__.py", line 1009, in <module>
янв 25 20:45:26 server.baka python[29285]: sys.exit(main())
янв 25 20:45:26 server.baka python[29285]: File "/home/saber-nyan/Documents/WORKDIR/venv/lib/python3.6/site-packages/pod042-bot/__main__.py", line 991, in main
янв 25 20:45:26 server.baka python[29285]: bot.polling(none_stop=True)
янв 25 20:45:26 server.baka python[29285]: File "/home/saber-nyan/Documents/WORKDIR/venv/lib/python3.6/site-packages/telebot/__init__.py", line 264, in polling
янв 25 20:45:26 server.baka python[29285]: self.__threaded_polling(none_stop, interval, timeout)
янв 25 20:45:26 server.baka python[29285]: File "/home/saber-nyan/Documents/WORKDIR/venv/lib/python3.6/site-packages/telebot/__init__.py", line 288, in __threaded_polling
янв 25 20:45:26 server.baka python[29285]: self.worker_pool.raise_exceptions()
янв 25 20:45:26 server.baka python[29285]: File "/home/saber-nyan/Documents/WORKDIR/venv/lib/python3.6/site-packages/telebot/util.py", line 107, in raise_exceptions
янв 25 20:45:26 server.baka python[29285]: six.reraise(self.exc_info[0], self.exc_info[1], self.exc_info[2])
янв 25 20:45:26 server.baka python[29285]: File "/home/saber-nyan/Documents/WORKDIR/venv/lib/python3.6/site-packages/six.py", line 693, in reraise
янв 25 20:45:26 server.baka python[29285]: raise value
янв 25 20:45:26 server.baka python[29285]: File "/home/saber-nyan/Documents/WORKDIR/venv/lib/python3.6/site-packages/telebot/util.py", line 58, in run
янв 25 20:45:26 server.baka python[29285]: task(*args, **kwargs)
янв 25 20:45:26 server.baka python[29285]: File "/home/saber-nyan/Documents/WORKDIR/venv/lib/python3.6/site-packages/pod042-bot/__main__.py", line 808, in bot_all_messages
янв 25 20:45:26 server.baka python[29285]: = open(log_path, mode="at", buffering=1, encoding="utf-8", errors="backslashreplace")
янв 25 20:45:26 server.baka python[29285]: FileNotFoundError: [Errno 2] No such file or directory: '/home/saber-nyan/.pod042-bot/logs/chat_/a/utism — GeekCTF 2018.log'
Код:
pod042-bot/pod042-bot/__main__.py
Lines 804 to 809 in e98772b
Ну сколько можно использовать Pickle, даже не смешно уже.
При получении ботом картинки в ЛС, он спросит, что делать: искать как скриншот из аниме на whatanime.ga или искать арт на iqdb.org.
И будет команда /iqdb
.
Олсо, реализация API на C#: ImoutoChan/IqdbApi
Например, отправка звука при отправке стикера.
Конфигурация через JSON/CSON.
pod042-bot/pod042-bot/__main__.py
Lines 802 to 803 in bd85209
апр 29 15:19:57 server.baka python[19407]: telebot.apihelper.ApiException: A request to the Telegram API was unsuccessful. The server returned HTTP 400 Bad Request. Response body:
апр 29 15:19:57 server.baka python[19407]: [b'{"ok":false,"error_code":400,"description":"Bad Request: can\'t parse entities: Expected end tag at byte offset 6"}']
Автоматически изменяет обратно выбранное сообщение при попытке его редактирования человеком (кроме админа).
Блджад, таки надо сделать.
А еще это уменьшит стабильность бота... 😿
Доки здесь.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.