mirror of
https://gitcode.com/GitHub_Trending/az/azerothcore-wotlk.git
synced 2026-07-11 03:13:10 +00:00
feat(Core/Chat): Add chat filter with Aho-Corasick matching (#26051)
This commit is contained in:
@@ -0,0 +1,12 @@
|
||||
--
|
||||
DELETE FROM `rbac_permissions` WHERE `id` IN (923, 924, 925);
|
||||
INSERT INTO `rbac_permissions` (`id`, `name`) VALUES
|
||||
(923, 'Command: chatfilter list'),
|
||||
(924, 'Command: chatfilter add'),
|
||||
(925, 'Command: chatfilter remove');
|
||||
|
||||
DELETE FROM `rbac_linked_permissions` WHERE `id` = 197 AND `linkedId` IN (923, 924, 925);
|
||||
INSERT INTO `rbac_linked_permissions` (`id`, `linkedId`) VALUES
|
||||
(197, 923),
|
||||
(197, 924),
|
||||
(197, 925);
|
||||
@@ -0,0 +1,12 @@
|
||||
-- Add `chat_filter` table for chat content filtering.
|
||||
DROP TABLE IF EXISTS `chat_filter`;
|
||||
CREATE TABLE `chat_filter` (
|
||||
`ID` INT UNSIGNED NOT NULL AUTO_INCREMENT,
|
||||
`Word` VARCHAR(255) NOT NULL,
|
||||
PRIMARY KEY (`ID`) USING BTREE
|
||||
)
|
||||
CHARSET = utf8mb4
|
||||
COLLATE = utf8mb4_unicode_ci
|
||||
ENGINE = InnoDB
|
||||
ROW_FORMAT = DEFAULT
|
||||
;
|
||||
@@ -0,0 +1,14 @@
|
||||
-- Add chatfilter and reload chat_filter commands.
|
||||
DELETE FROM `command` WHERE `name` IN ('chatfilter', 'chatfilter list', 'chatfilter add', 'chatfilter remove', 'reload chat_filter');
|
||||
INSERT INTO `command` (`name`, `security`, `help`) VALUES
|
||||
('chatfilter', 2, 'Syntax: .chatfilter $subcommand\nType .chatfilter to see a list of subcommands or .help chatfilter $subcommand to see info on subcommands.'),
|
||||
('chatfilter list', 2, 'Syntax: .chatfilter list\nList all entries from the `chat_filter` table.'),
|
||||
('chatfilter add', 3, 'Syntax: .chatfilter add $word\nAdd $word to the `chat_filter` table and reload the chat filter.'),
|
||||
('chatfilter remove', 3, 'Syntax: .chatfilter remove $word\nRemove $word from the `chat_filter` table and reload the chat filter.'),
|
||||
('reload chat_filter', 3, 'Syntax: .reload chat_filter\n\nReload the `chat_filter` table.');
|
||||
|
||||
DELETE FROM `acore_string` WHERE `entry` IN (5144, 5145, 5146);
|
||||
INSERT INTO `acore_string` (`entry`, `content_default`, `locale_koKR`, `locale_frFR`, `locale_deDE`, `locale_zhCN`, `locale_zhTW`, `locale_esES`, `locale_esMX`, `locale_ruRU`) VALUES
|
||||
(5144, '|cffff0000Unable to send emote because your message contained reserved words.|r', '|cffff0000감정표현에 예약된 단어가 포함되어 있어 전송할 수 없습니다.|r', '|cffff0000Impossible d''envoyer l''emote car votre message contient des mots réservés.|r', '|cffff0000Emote konnte nicht gesendet werden, da Ihre Nachricht reservierte Wörter enthielt.|r', '|cffff0000无法发送表情,因为您的消息包含保留字。|r', '|cffff0000無法傳送表情,因為您的訊息包含保留字。|r', '|cffff0000No se puede enviar el gesto porque tu mensaje contenía palabras reservadas.|r', '|cffff0000No se puede enviar el gesto porque tu mensaje contenía palabras reservadas.|r', '|cffff0000Невозможно отправить эмоцию, так как ваше сообщение содержит зарезервированные слова.|r'),
|
||||
(5145, '|cffff0000Unable to send message because your message contained reserved words.|r', '|cffff0000메시지에 예약된 단어가 포함되어 있어 전송할 수 없습니다.|r', '|cffff0000Impossible d''envoyer le message car votre message contient des mots réservés.|r', '|cffff0000Nachricht konnte nicht gesendet werden, da Ihre Nachricht reservierte Wörter enthielt.|r', '|cffff0000无法发送消息,因为您的消息包含保留字。|r', '|cffff0000無法傳送訊息,因為您的訊息包含保留字。|r', '|cffff0000No se puede enviar el mensaje porque tu mensaje contenía palabras reservadas.|r', '|cffff0000No se puede enviar el mensaje porque tu mensaje contenía palabras reservadas.|r', '|cffff0000Невозможно отправить сообщение, так как ваше сообщение содержит зарезервированные слова.|r'),
|
||||
(5146, '|cffff0000Unable to send yell because your message contained reserved words.|r', '|cffff0000외치기에 예약된 단어가 포함되어 있어 전송할 수 없습니다.|r', '|cffff0000Impossible d''envoyer le cri car votre message contient des mots réservés.|r', '|cffff0000Ruf konnte nicht gesendet werden, da Ihre Nachricht reservierte Wörter enthielt.|r', '|cffff0000无法发送大喊,因为您的消息包含保留字。|r', '|cffff0000無法傳送大喊,因為您的訊息包含保留字。|r', '|cffff0000No se puede enviar el grito porque tu mensaje contenía palabras reservadas.|r', '|cffff0000No se puede enviar el grito porque tu mensaje contenía palabras reservadas.|r', '|cffff0000Невозможно отправить крик, так как ваше сообщение содержит зарезервированные слова.|r');
|
||||
Reference in New Issue
Block a user