@luckydonaldsbots · Post #256 · 08.07.2020 г., 23:11
New feature I forgot to write about, @BanWarnBot will now also notice you if a user which already has gotten warns joins back into your group. #update#BanWarnBot.
Hashtags
TGINSIGHT SIMILAR POSTS
Изворен канал @pythonotes · Post #205 · 22 јан.
Как работает функция reload()? Эта функция нужна для того, чтобы перезагрузить изменившийся код из py-файла без рестарта интерпретатора. Дело в том, что любой импортированный модуль при повторном импорте не будет перечитывать файл. Функция импорта вернёт уже загруженный в память объект модуля. Чтобы обновить код, нужно либо перезапустить всю программу, либо использовать функцию reload() from importlib import reload reload(my_module) 🔸 Функция reload() принимает в качестве аргумента только объект модуля или пакета. Она не может перезагрузить класс или функцию. Только весь файл целиком! 🔸 Перезагрузка пакета перезагрузит только его файл __init__.py, если он есть. Но не вложенные модули. 🔸Она не может перезагрузить ранее не импортированный модуль. 🔸При вызове функция reload() перечитывает и перекомпилирует код в файле, создавая новые объекты. После создания новых объектов перезаписывается ранее созданный неймспейс этого модуля. Это значит, что если где-то этот модуль импортирован через import и обращение к атрибутам происходит через неймспейс (имя) модуля, то такие атрибуты обновятся. Если какие-либо объекты из этого модуля импортированы через from то они будут ссылаться на старые объекты. Напишем простой модуль # mymodule.py x = 1 Теперь импортируем модуль и отдельно переменную х из модуля >>> import mymodule >>> from mymodule import x >>> print(mymodule.x) 1 >>> print(x) 1 Не перезапуская интерпретатор вносим изменения в модуль # mymodule.py x = 2 Делаем перезагрузку модуля и проверяем х ещё раз >>> reload(mymodule) >>> print(mymodule.x) 2 >>> print(x) 1 То же самое будет если присвоить любой объект переменной (даже словарь или список) Повторный импорт обновляет значение >>> from mymodule import x >>> print(x) 2 🔸Созданные инстансы классов не обновятся после перезагрузки модуля. Их придётся пересоздать. #tricks#basic
Пребарај: #banwarnbot
@luckydonaldsbots · Post #256 · 08.07.2020 г., 23:11
New feature I forgot to write about, @BanWarnBot will now also notice you if a user which already has gotten warns joins back into your group. #update#BanWarnBot.
Hashtags
@luckydonaldsbots · Post #138 · 05.07.2018 г., 20:26
Updated @BanWarnBot to no longer kick people when revoking warns. The technical details: Telegrams unbanChatMember API method is actually is a kick+unban, which isn't documented anywhere. It will now check first if the user is not member of the group, being kicked (=banned) or the user left the group (or "was forcefully left by admins"). Else it will not attempting to unban the use as that would kick, too. #update#BanWarnBot
Hashtags
@luckydonaldsbots · Post #133 · 04.07.2018 г., 11:17
@BanWarnBot now allows to revoke warnings by clicking on a button right under it. #update#BanWarnBot
Hashtags
@luckydonaldsbots · Post #300 · 12.11.2025 г., 07:19
Experienced another way how the disk can run full, deleted 100 GB of ancient pending RabbitMQ tasks and set a message TTL as well as a maximum queue length. With that the bots are back online. #JoinCaptchaBot #BanWarnBot
Hashtags
@luckydonaldsbots · Post #299 · 05.06.2024 г., 22:18
Some bots were down again, which was caused by the disk running full. Deleted 460 GB of log files and restored the services. Bots will process all pending updates normally. #JoinCaptchaBot#BanWarnBot
Hashtags
@luckydonaldsbots · Post #252 · 04.07.2020 г., 15:57
@BanWarnBot is nowsuccessfully back up and running the newest version: Here's a list of what's new: New /kick and /ban commands: Just like the /warn one, but immediately removes the user from the chat, either once or permanently. You can specify a reason for why you kicked/banned someone after the command. Those kicks count into the normal warn count, because they are kinda like special warns. Those 3 commands, /warn, /kick and /ban now also allow the first thing after the command to be the id of a user, in the format of #1234, or a user mention. This can come in handy if you don't have a message to reply to. Overhaul of the warning lists: Now the list of /listwarnings and /listallwarnings will link you to the message warn message, if you press the date stamp. Also support for distinguishing automatic kicks/bans and manual kicks/bans has been added. #update#BanWarnBot#resolved
Hashtags
@luckydonaldsbots · Post #251 · 04.07.2020 г., 14:51
Maintenance: Moving @BanWarnBot to the new server. Okey going through the same procedure for @BanWarnBot now, hopefully without the database breaking this time. Turning the bot off for moving the database, so any /warns send in the meantime shouldn't get lost. As soon as it's on the new server it should pick up those, and carry out the needed actions. I'll take @BanWarnBot down in 10 minutes. Other bots should not be affected. #maintenance#downtime#BanWarnBot
Hashtags
@luckydonaldsbots · Post #295 · 15.12.2021 г., 23:01
It was brought to attention that with some bots admin commands were no longer working. That was happining for the bots migrated yesterday, because of the new bot API version. This is #fixed now. Thanks for letting me know, A. A.! #BanWarnBot#RulesRulesBot#JoinCaptchaBot
@luckydonaldsbots · Post #232 · 24.03.2020 г., 10:45
I will soon migrage some services onto a new server. Therefore those services will be unavailable for the next two hours: @JoinCaptchaBot@BanWarnBot@RulesRulesBot and @ForwardWhitelistBot. #downtime #JoinCaptchaBot#BanWarnBot#RulesRulesBot#ForwardWhitelistBot
@luckydonaldsbots · Post #230 · 23.03.2020 г., 11:24
I will definitely work hard to keep the most important group management services stable, including: @JoinCaptchaBot, @RulesRulesBot, @BanWarnBot, and @HeyAdminBot. And for now also the less important @NoServiceBot. #PermalinkBot#NoServiceBot#RulesRulesBot, #BanWarnBot#HeyAdminBot #ongoing#issue