EarwigBot là một robot Python mà sửa đổi Wikipedia và tương tác với những người trên IRC & nbsp;. Tập tin này cung cấp một cái nhìn tổng quan cơ bản của cách cài đặt và thiết lập các bot; thông tin chi tiết hơn nằm trong các tài liệu / thư mục (có sẵn trực tuyến tại PyPI).
Lịch sử
Phát triển bắt đầu, dựa trên khung Pywikipedia, vào đầu năm 2009. Phê duyệt nhiệm vụ nắm đấm, một máy dò vi phạm bản quyền, được thực hiện trong tháng Năm, và các bot đã được chạy liên tục từ bao giờ (với ngoại lệ của Jan / Feb 2011). Nó hiện đang xử lý một số nhiệm vụ liên tục từ hệ thống kê để loại dọn dẹp, và nhiệm vụ theo yêu cầu như WikiProject mẫu tagging. Kể từ khi nó bắt đầu chạy, các bot đã có hơn 50.000 chỉnh sửa.
Một dự án để viết lại nó từ đầu bắt đầu vào đầu tháng 4 năm 2011, do đó di chuyển ra khỏi khuôn khổ Pywikipedia và cho phép mã ít hơn tổng thể, tích hợp tốt hơn giữa các bộ phận bot, và bảo trì dễ dàng.
Cài đặt
Gói này chứa các earwigbot lõi, trừu tượng đủ rằng nó sẽ được sử dụng và tùy chỉnh bởi bất cứ ai chạy một bot trên một trang web liên kết đến đây. Vì nó là dựa trên thành phần, các thành phần IRC có thể bị vô hiệu hóa nếu muốn. Lệnh IRC và nhiệm vụ cụ thể để bot dụ của tôi về EarwigBot mà tôi không cảm thấy người dùng trung bình sẽ cần có sẵn từ kho earwigbot-plugins.
Đó là khuyến cáo để chạy thử nghiệm đơn vị của bot trước khi cài đặt. Chạy thử nghiệm setup.py python từ thư mục gốc của dự án. Lưu ý rằng một số xét nghiệm cần phải có kết nối internet, và những người khác có thể mất một thời gian để chạy. Bảo hiểm hiện nay là khá đầy đủ.
Setup
Các bot lưu trữ dữ liệu trong một "thư mục làm việc", trong đó có tập tin cấu hình và cơ sở dữ liệu của nó. Đây cũng là vị trí nơi bạn sẽ đặt các lệnh tùy chỉnh và nhiệm vụ IRC bot, mà sẽ được giải thích sau. Nó không quan trọng, nơi thư mục này là, miễn là các bot có thể viết thư cho nó.
Bắt đầu bot với đường earwigbot / to / làm việc / dir, hoặc chỉ earwigbot nếu thư mục làm việc là thư mục hiện hành. Nó sẽ nhận thấy rằng không có tập tin config.yml tồn tại và đưa bạn qua quá trình cài đặt.
Hiện tại không có cách nào để chỉnh sửa các tập tin config.yml từ bên trong bot sau khi nó đã được tạo ra, nhưng YAML là một định dạng rất đơn giản, vì vậy bạn sẽ có thể thực hiện bất kỳ thay đổi cần thiết cho mình. Kiểm tra các lời giải thích của YAML trên Wikipedia để được giúp đỡ.
Sau khi thiết lập, các bot sẽ bắt đầu. Điều này có nghĩa là nó sẽ kết nối với máy chủ IRC nó đã được cấu hình, tiến độ công việc bot chạy tại thời điểm cụ thể, và sau đó chờ đợi để được hướng dẫn (như lệnh trên IRC). Đối với một danh sách các lệnh, nói "giúp đỡ!" (Lệnh là những tin nhắn bắt đầu bằng một dấu chấm than).
Bạn có thể ngăn chặn các bot tại bất kỳ thời gian với Control + C, giống như bạn ngừng một chương trình Python bình thường, và nó sẽ cố gắng để thoát ra một cách an toàn. Bạn cũng có thể sử dụng "! Bỏ" lệnh trên IRC.
Tùy
Thư mục làm việc của một thư mục con chứa bot lệnh và một nhiệm vụ thư mục con. Custom IRC có thể được đặt trong các cựu, trong khi nhiệm vụ wiki bot tùy chỉnh đi vào sau này. Phát triển các module tùy chỉnh được giải thích dưới đây, và chi tiết hơn thông qua các tài liệu của bot trên PyPI (hoặc trong các tài liệu / dir).
Lưu ý rằng các lệnh tùy chỉnh sẽ ghi đè lên được xây dựng trong các lệnh và các nhiệm vụ có cùng tên.
Bot và BotConfig
earwigbot.bot.Bot là class chính của EarwigBot. Bạn không cần phải nhanh chóng này cho mình, nhưng nó rất tốt để làm quen với các thuộc tính và phương thức của nó, bởi vì nó là con đường chính để giao tiếp với các bộ phận khác của bot. Một đối tượng Bot có thể truy cập như là một thuộc tính của các lệnh và các nhiệm vụ (tức là, self.bot).
earwigbot.config.BotConfig chứa các thông tin cấu hình cho bot. Docstring của nó giải thích những gì từng thuộc tính được sử dụng, nhưng về cơ bản mỗi "nút" (một trong config.components, wiki, irc, lệnh, nhiệm vụ, và siêu dữ liệu) bản đồ đến một phần của tập tin config.yml của bot. Ví dụ, nếu config.yml bao gồm cái gì đó như:
irc:
& Nbsp; lối vào:
& Nbsp; nick: MyAwesomeBot
& Nbsp; các kênh:
& Nbsp; - "## earwigbot"
& Nbsp; - "#channel"
& Nbsp; - "# khác kênh"
... Sau đó config.irc ["lối vào"] ["nick"] sẽ là "MyAwesomeBot" và config.irc ["lối vào"] ["kênh"] sẽ được ["## earwigbot", "#channel", "# khác kênh"].
Custom IRC
Custom là lớp con của earwigbot.commands.Command đè lên quá trình chỉ huy của () (và kiểm tra tùy chọn () hoặc thiết lập ()) phương pháp.
Các bot có nhiều lựa chọn xây dựng trong các lệnh và bổ sung cho hoạt động như mẫu mã và / hoặc để cung cấp cho các ý tưởng. Bắt đầu với thử nghiệm, và sau đó kiểm tra chanops và afc_status cho một số kịch bản phức tạp hơn.
Nhiệm vụ tùy chỉnh bot
Nhiệm vụ tùy chỉnh là lớp con của earwigbot.tasks.Task đè lên chạy Nhiệm vụ của () (và thiết lập tùy ý ()) phương pháp.
Xem nhiệm vụ wikiproject_tagger được xây dựng trong một nhiệm vụ tương đối đơn giản, hoặc các afc_statistics plugin cho một phức tạp hơn.
Các Wiki Toolset
Câu trả lời của EarwigBot với khung Pywikipedia là Wiki (earwigbot.wiki) Toolset, mà bạn sẽ chủ yếu là truy cập thông qua bot.wiki.
bot.wiki cung cấp ba phương pháp cho việc quản lý các trang web - get_site (), add_site (), và remove_site (). Các trang web là đối tượng mà chỉ đơn giản là đại diện cho một trang web liên kết đến đây. Một trường hợp duy nhất của EarwigBot (tức là một thư mục làm việc duy nhất) dự kiến sẽ liên quan đến một trang web hoặc một nhóm các trang web bằng cách sử dụng thông tin đăng nhập giống nhau (như tất cả các wiki WMF với Centralauth) duy nhất.
Tải các trang web mặc định của bạn (một trong đó bạn chọn trong quá trình cài đặt) với site = bot.wiki.get_site ().
Không phải tất cả các khía cạnh của bộ công cụ được đề cập trong các tài liệu. Khám phá mã và docstrings của nó để tìm hiểu làm thế nào để sử dụng nó trong một thời trang thực hành nhiều hơn. Để tham khảo, bot.wiki là một thể hiện của earwigbot.wiki.SitesDB gắn với các tập tin trong thư mục làm việc sites.db của bot
Yêu cầu .
- Python
Bình luận không