Git Product home page Git Product logo

pod042-bot's People

Stargazers

 avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

pod042-bot's Issues

Рулеточки!

  • Традиционные рулетки с /b/
  • Русская рулетка на кик с группы

Типо такой:

Анимублядская Webm-тред рулетка.

Ну и оленя, естественно.

Быстрый поиск картинки

При получении документа с типом image/* (или тем, что поддерживает Pillow)/картинки бот должен спросить: а что мне с ней делать?
Предполагаю сделать это инлайн-кнопками, типо этого:

Запилено из http://jspaint.ml

Краш из-за отсутствия экранирования имен файлов лога

При включенном логгировании названия бесед никак не экранируются.
Поэтому можно поставить название беседы как ../../../../../../../../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'

Код:

if chat_id not in messages_log_files:
base_name = "chat_{}.log".format(chat_title)
log_path = os.path.join(logs_path, base_name)
messages_log_files[chat_id] \
= open(log_path, mode="at", buffering=1, encoding="utf-8", errors="backslashreplace")
messages_log_files[chat_id].write("with id: {}\n".format(chat_id))

Работа с iqdb.org

При получении ботом картинки в ЛС, он спросит, что делать: искать как скриншот из аниме на whatanime.ga или искать арт на iqdb.org.
И будет команда /iqdb.

Олсо, реализация API на C#: ImoutoChan/IqdbApi

Нерабочий /quote

quote = requests.get("https://tproger.ru/wp-content/plugins/citation-widget/getQuotes.php").text
bot.send_message(msg.chat.id, f"<code>{quote}</code>", parse_mode="HTML")

Новые теги в ответе сервера, Telegram отдает 400:

апр 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"}']

Channel/Group post guard

Автоматически изменяет обратно выбранное сообщение при попытке его редактирования человеком (кроме админа).

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.