Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Chat bans & admin cooldowns #13248

Merged
merged 5 commits into from
Jul 5, 2024
Merged

Chat bans & admin cooldowns #13248

merged 5 commits into from
Jul 5, 2024

Conversation

volas
Copy link
Member

@volas volas commented Jul 4, 2024

Описание изменений

Еще одна часть #13141, вынесенная отдельно. В целом, вместе с чисткой префов небольшой реворк мутов.

  • Пермамуты были заменены на чат баны. Работают как и любые другие баны, делятся на временные и перманентные.
  • Для быстрых мутов в течении раунда добавлена система админ кулдаунов. Админ может выбрать чат для кулдауна и время, будет работать как и мут в прошлом, по истечении времени самостоятельно снимется. Сейчас кулдауны существуют только для чатов, в будущем можно легко расширить (например, атаки (временный запрет на робаст), движение, и тому подобное).
  • Мут нотесы больше не существуют. Чат бан уже будет автоматом записываться в историю, а кулдауны для мелочей, которые не стоят того.
  • Изменены каналы мутов: DEADCHAT объединен с OOC, MENTORHELP и ADMINHELP объединены в новый общий PM.

И небольшая амнистия - я не конвертирую старые пермамуты в новые чат баны, это будет слишком запарно. Хедсостав одобрил, какие-то муты они в ручную перенесут. Но даже если кого пропустят, нотесы о мутах никуда не денутся.

Почему и что этот ПР улучшит

Авторство

Чеинжлог

@TauKitty
Copy link
Contributor

TauKitty commented Jul 4, 2024

Changelog status: 🔘 No changelog

@volas volas added the Test Merge Candidate ПР с этим лэйблом будет или уже находится с тест мерже label Jul 4, 2024
Comment on lines 63 to 64
else
return
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
else
return

Comment on lines 10 to 19
if(prefs.muted & MUTE_IC || IS_ON_ADMIN_CD(src, ADMIN_CD_IC))
to_chat(src, "<span class='warning'>You cannot send DSAY messages (muted).</span>")
return

if(!(prefs.chat_toggles & CHAT_DEAD))
to_chat(src, "<span class='warning'>You have deadchat muted.</span>")
return

if (handle_spam_prevention(msg,MUTE_DEADCHAT))
if (handle_spam_prevention(msg,ADMIN_CD_IC))
return
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

В описании ПРа написано, что дедчат объединен с ООЦ, а не с ИЦ-мутом. Так и должен быть код?

@@ -18,14 +18,15 @@ var/global/list/datum/preferences/preferences_datums = list()
var/savefile_version = 0

//non-preference stuff
var/permamuted = 0
var/muted = 0
var/muted = 0 // cache for chat bans, you should not touch it outside bans
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Может тут добавить какой-то дефайн и поместить рядом с дефайнами MUTE_IC MUTE_OOC MUTE_PRAY? Ну, чтобы было сразу видно при просмотре класса, что такое muted и с какой системой дефайнов он используется?

Ну и не обязательно, пофиг

#define MUTE_NONE 0
Suggested change
var/muted = 0 // cache for chat bans, you should not touch it outside bans
var/muted = MUTE_NONE // cache for chat bans, you should not touch it outside bans

var/DBQuery/query = dbcon.NewQuery("SELECT job FROM erro_ban WHERE ckey = '[ckey(parent.ckey)]' AND (bantype = 'CHAT_PERMABAN' OR (bantype = 'CHAT_TEMPBAN' AND expiration_time > Now())) AND isnull(unbanned)")
if(!query.Execute())
return
muted = 0
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Если захочешь тот дефайн делать, про который я писал выше, то тут не забыть

Comment on lines 16 to 20
if(client.prefs.muted & MUTE_IC || IS_ON_ADMIN_CD(client, ADMIN_CD_IC))
to_chat(src, "<span class='alert'>You cannot emote in deadchat (muted).</span>")
return

if(client.handle_spam_prevention(message, MUTE_DEADCHAT))
if(client.handle_spam_prevention(message, ADMIN_CD_IC))
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

то же, почему дедчат забанен через мут_иц, а не мут_ооц?

@@ -7,7 +7,7 @@

/mob/proc/emote_dead(message)

if(client.prefs.muted & MUTE_DEADCHAT)
if(client.prefs.muted & MUTE_IC || IS_ON_ADMIN_CD(client, ADMIN_CD_IC))
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Тоже дедчат

@@ -67,11 +67,11 @@
to_chat(src, "<span class='red'> You have deadchat muted.</span>")
return

if(client.prefs.muted & MUTE_DEADCHAT) // Admin/autospam mute check
if(client.prefs.muted & MUTE_IC || IS_ON_ADMIN_CD(client, ADMIN_CD_IC)) // Admin/autospam mute check
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

И тут дедчат

@AzzyDreemurr13 AzzyDreemurr13 added the Admin Всё что касается админов. Логирование, инструментарий и т.д. label Jul 4, 2024
@volas volas merged commit 991f906 into TauCetiStation:master Jul 5, 2024
12 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Admin Всё что касается админов. Логирование, инструментарий и т.д. Preferences Update Test Merge Candidate ПР с этим лэйблом будет или уже находится с тест мерже
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants