Василий Банников, скорее всего, продажа нищебродам будет позже. И скорее всего там придётся напилить сложносочинённую систему модерации и партнёрскую программу для реселлеров.
Георгий Харитонов, ещё добавлю, что dislash официально рекомендует перейти на disnake. Я именно на disnake ушёл с discord.py (тестировал также discord.py alpha, nextcord, pycord) и он мне показался самым живым (по состоянию на декабрь 2021), особенно в части поддержки новых фич (slash commands и interactions). Мой бот https://github.com/shurshur/glagolitic-bot/blob/ma...
Георгий Харитонов, discord interactions довольно криво работают, например, они отваливаются при рестарте бота, при истечении таймаутов, при любой ошибке коммуникации с ботом... И в чужом interaction вроде как тоже нельзя нажимать кнопки (не уверен, потому что для моей задачи не было нужно, но я кучу времени провёл, сражаясь с глюками на взаимодействии с одним пользователем). В моём случае при нажатии на кнопку я редактировал меню переотправкой новых кнопок, вероятно, может помочь его всегда редактировать при нажатии любых кнопок.
Георгий Харитонов, "не так" тут то, что сообщение не может удалиться моментально. Плюс если бот кратковременно отвалится - сообщение удалится не сразу. Это можно обойти с помощью slash commands, но лучше всё же тесты конфигурировать отдельно: в закрытом канале, в ЛС с ботом или даже в отдельном месте (конфиг бота, веб-админка, база или ещё какие-то варианты).
Sco0b1, ну видно же что реагирует не только на add-money, но и remove-money, кроме того, реагирует на embed самого бота и реагирует на свои сообщения.
Вот так можно сделать, чтобы бот не реагировал на себя и других ботов:
@bot.event
async def on_message(message):
if message.author == bot.user:
return
if message.author.bot:
return
Но если автор исходного бота сделал то же самое, то он на remove-money от FixBot не будет реагировать.
Правильнее было бы, чтобы подобное ограничение было в самом исходном боте.
Вообще, если пользователь передаёт деньги со своего баланса, то передача самому себе ничему не мешает. Ну, только в чате сообщения лишние. И то, подобное развлечение игрокам быстро надоест, не надо обращать на него слишком много внимани.
Глеб Лукашонок, скорее всего, в этом коде где-то бесконечный цикл без внятных ожиданий ввода-вывода или хотя бы коротких sleep. Разумеется, если моментально проверять события и сразу же повторять цикл, то процессор будет загружен сильно.
kot2566, скорее всего API там не очень устаканился на момент написания той доки. У fb регулярно бывают проблемы с точностью и актуальностью документации (особенно грустно, когда автодетект страны показывает русскую версию с устаревшими данными).
edward_freedom, в английском языке th обозначает две разные вещи: прагерманскую þ (может передаваться как [ð] или [θ] в разных случаях, например, this и think) и греческую θ (латинская th, передаётя как [θ]). Слова с θ в славянских языках обычно заимствовались из греческого с помощбю "ф" (марафон, имена типа Мефодий, Фукидид в русском языке) или "т" (метод, имена Методи, Тукидид в болгарском языке) Этимология слова telethon намекает, что в данном случае (television + marathon) речь идёт о фонеме греческого происхождения.
Yrets169, ну вот и видно, что с правами проблема. А sudo лучше настроить на NOPASSWD для нужной команды, вместо того, чтобы хранить в скрипте пароль открытым текстом.
Yrets169, chown может сделать только root, chmod может сделать пользователь на свои файлы, но есть подозрение, что в данном случае это не так. До кучи немного странно хранить файлы в корне файловой системы, может быть, лучше класть их в /tmp/ ?