• 🚀 Đăng ký ngay để không bỏ lỡ những nội dung chất lượng! 💯 Hoàn toàn miễn phí!

Thắc mắc: Tại sao admin xam không thử sử dụng cái addon để chặn từ khoá ?

  • Tạo bởi Tạo bởi nhox49
  • Start date Start date
Tại vì trên thị trường hiện tại chưa có cái đó vì cũng chưa ai nghĩ đến nó chăng, hoặc admin chưa tin tưởng vào mấy cái addon trên thị trường ?

Tham khảo

Hướng Dẫn Tạo Addon AutoBanHotkey Cho XenForo​


Addon AutoBanHotkey sẽ tự động ban người dùng khi họ tạo bài viết (thread) có tiêu đề chứa các từ khóa cấm. Bạn sẽ học cách tạo addon này từ đầu, bao gồm cả việc lập cấu trúc thư mục, viết mã và cấu hình.

Bước 1: Tạo Thư Mục Addon​


Để bắt đầu, bạn cần tạo cấu trúc thư mục cho addon của mình. Đảm bảo rằng bạn tạo thư mục đúng theo cấu trúc sau:

Code:
library/
    AutoBan/
        AutoBanHotkey/
            Listener.php
            _output/
                install.xml
            addon.json
            Options.php

1. library/AutoBan/AutoBanHotkey/: Đây là thư mục chứa toàn bộ mã nguồn của addon.
2. Listener.php: Tệp chứa logic xử lý sự kiện.
3. _output/install.xml: Tệp này sẽ dùng để cấu hình các listener và tùy chọn của addon.
4. addon.json: Tệp cấu hình của addon chứa thông tin về phiên bản, mô tả, v.v.
5. Options.php: Tệp này sẽ chứa các phương thức để lấy cấu hình từ Admin CP, ví dụ: danh sách từ khóa cấm.

Bước 2: Viết Tệp addon.json​


Tệp addon.json chứa các thông tin cơ bản về addon. Đây là tệp rất quan trọng khi bạn muốn cài đặt addon vào XenForo.

Tạo tệp addon.json với nội dung sau:

Code:
{
  "title": "AutoBanHotkey",
  "version_id": 100,
  "version_string": "1.0.0",
  "dev": "AutoBan",
  "dev_url": "http://yourwebsite.com",
  "support_url": "http://yourwebsite.com/support",
  "description": "Addon to automatically ban users based on thread title containing forbidden keywords.",
  "addon_id": "AutoBan_AutoBanHotkey",
  "actions": [
    {
      "action": "install",
      "callback_class": "AutoBan_AutoBanHotkey_Listener",
      "callback_method": "install"
    },
    {
      "action": "uninstall",
      "callback_class": "AutoBan_AutoBanHotkey_Listener",
      "callback_method": "uninstall"
    }
  ],
  "required_addons": {
    "XenForo": "2.0.0"
  },
  "options": [
    {
      "name": "forbidden_keywords",
      "type": "array",
      "default": ["******.Com", "example.com"],
      "data_type": "serialized"
    }
  ]
}

- version_id: Đây là số phiên bản của addon (tăng dần khi bạn cập nhật addon).
- version_string: Phiên bản dễ đọc hơn cho người dùng.
- addon_id: ID của addon, giúp XenForo nhận diện addon.
- options: Các cấu hình tùy chọn cho addon, ví dụ như danh sách từ khóa cấm.

Bước 3: Tạo Tệp Listener.php​


Tệp Listener.php sẽ lắng nghe sự kiện và thực hiện hành động khi tiêu đề bài viết chứa từ khóa cấm.

Tạo tệp Listener.php với mã sau:

Code:
<?php

class AutoBan_AutoBanHotkey_Listener
{
    // Cài đặt addon
    public static function install()
    {
        // Không cần thao tác gì ở đây, chỉ cần hỗ trợ cài đặt và cấu hình từ khóa cấm
    }

    // Gỡ bỏ addon
    public static function uninstall()
    {
        // Làm gì đó khi addon bị gỡ bỏ
    }

    // Lắng nghe sự kiện khi tạo bài viết (thread)
    public static function threadPostSave(XenForo_DataWriter_Discussion_Thread $threadDw)
    {
        // Lấy tiêu đề của thread
        $threadTitle = $threadDw->get('title');
     
        // Lấy danh sách từ khóa cấm từ cấu hình
        $forbiddenKeywords = AutoBan_AutoBanHotkey_Options::getForbiddenKeywords();

        // Kiểm tra nếu tiêu đề chứa từ khóa cấm
        foreach ($forbiddenKeywords as $keyword) {
            if (strpos($threadTitle, $keyword) !== false) {
                // Nếu tiêu đề chứa từ khóa, ban người dùng
                $userId = $threadDw->get('user_id');
                $user = XenForo_Model::create('XenForo_Model_User')->getUserById($userId);

                if ($user) {
                    // Ban người dùng
                    $userDw = XenForo_DataWriter::create('XenForo_DataWriter_User');
                    $userDw->setExistingData($userId);
                    $userDw->set('is_banned', 1);
                    $userDw->save();
                 
                    // Ghi log hoặc thông báo nếu cần
                    XenForo_Helper_Cache::getInstance()->log("User with ID {$userId} has been banned due to forbidden keyword in thread title.");
                }
                break; // Dừng vòng lặp nếu tìm thấy từ khóa cấm
            }
        }
    }
}

Bước 4: Tạo Tệp Options.php​


Tệp Options.php sẽ chứa các phương thức để lấy danh sách từ khóa cấm từ cấu hình.

Tạo tệp Options.php với mã sau:

Code:
<?php

class AutoBan_AutoBanHotkey_Options
{
    // Lấy danh sách từ khóa cấm
    public static function getForbiddenKeywords()
    {
        $options = XenForo_Application::getOptions();
        return isset($options->forbidden_keywords) ? unserialize($options->forbidden_keywords) : [];
    }
}

Bước 5: Tạo Tệp install.xml​


Tệp install.xml sẽ cấu hình các listener và các tùy chọn cho addon khi cài đặt.

Tạo tệp install.xml với nội dung sau:

Code:
<?xml version="1.0" encoding="UTF-8"?>
<install>
    <listeners>
        <listener event="thread_post_save" callback="AutoBan_AutoBanHotkey_Listener::threadPostSave" />
    </listeners>
    <options>
        <option name="forbidden_keywords" type="array" default="['******.Com', 'example.com']" data_type="serialized" />
    </options>
</install>

Bước 6: Cài Đặt Addon​


1. Nén toàn bộ thư mục AutoBan vào tệp [.zip].
2. Đăng nhập vào Admin CP của XenForo.
3. Vào Add-ons > Install Add-on và tải lên tệp [.zip] của addon.
4. Sau khi cài đặt thành công, addon sẽ xuất hiện trong danh sách addon.

Bước 7: Cấu Hình Từ Khóa Cấm​


1. Vào Admin CP và chọn Cài đặt > Cài đặt addon.
2. Tìm AutoBanHotkey và nhấn vào Options.
3. Thêm các từ khóa cấm vào mục Forbidden Keywords.
4. Lưu lại cấu hình.
Lưu ý: Từ khoá cấm sẽ là từ khoá dạng chuỗi không bao gồm khoảng trắng (Dấu Cách)

Tóm Tắt​


Bằng cách thực hiện các bước trên, bạn sẽ có một addon AutoBanHotkey hoàn chỉnh, giúp tự động ban người dùng khi họ tạo bài viết với tiêu đề chứa các từ khóa cấm. Addon này có thể được cấu hình từ Admin CP để dễ dàng thay đổi danh sách từ khóa cấm mà không cần chỉnh sửa mã nguồn.

Chúc bạn thành công với addon của mình! Nếu bạn gặp vấn đề nào, đừng ngần ngại yêu cầu thêm trợ giúp.

Hoặc


Nếu admin có muốn dùng thì test trước đã nha, cái này là tham khảo bên Vnxf và bài viết đến từ con chatGPT. Cái này trước là của XF1X nhưng được con chatGPT nó sửa lại giùm để xài được trên XF2X. Tại vì không có xèng nên không có xenforo để test cái này :vozvn (1)::vozvn (1)::vozvn (1):
Với là lỡ làm ngon lành xong chắc gì admin đã thấy bài này, mà ví dụ thấy rồi cũng chắc gì đã xài :)) :)) :))
@QuyNhonboy @ManhThuong @ALau
 
Dm đã là cái forum phổng đạn bị nhà nc nó cấm domain lại còn sợ từ khoá
 
Admin kỹ thuật chán lắm, mày tư vấn tận răng cũng ko biết dùng đâu
 

Có thể bạn quan tâm

Top