Bot policy
- Bot Policy
This article details the Bot policy for this wiki, outlining rules and guidelines for operating automated accounts, commonly known as "bots." It is crucial for all bot operators to understand and adhere to this policy to ensure a positive and productive environment for all users. Ignoring this policy may result in bot blocking and/or account suspension. This policy is designed to protect the wiki from vandalism, maintain the quality of content, and prevent disruption of normal editing processes.
What is a Bot?
For the purposes of this policy, a "bot" is defined as any automated account used to perform actions on the wiki. This includes, but is not limited to:
- Automatically editing pages to make corrections (e.g., spelling, grammar, formatting).
- Creating new pages based on pre-defined criteria.
- Categorizing pages.
- Adding infoboxes.
- Reporting vandalism.
- Performing maintenance tasks.
- Responding to user requests.
- Implementing automated archiving of talk pages.
Bots are powerful tools, but they require careful management to be used responsibly. Improperly configured or malicious bots can cause significant damage to the wiki. Understanding the difference between helpful and harmful bot activity is paramount.
General Principles
All bots must operate under the following general principles:
- **Respect the Community:** Bots should not disrupt the workflow of human editors. Avoid making changes that are likely to be reverted or cause edit conflicts.
- **Transparency:** Bot activity should be clearly identifiable. Bots should have a descriptive username and include a standard bot notice on their user page.
- **Accuracy:** Bots should only make changes that are demonstrably correct and based on reliable sources.
- **Efficiency:** Bots should be designed to perform their tasks efficiently, minimizing the load on the wiki servers.
- **Documentation:** All bot tasks should be thoroughly documented, including the bot's purpose, the criteria for making changes, and any known limitations.
- **Non-Disruption:** Bots should not interfere with ongoing discussions or debates.
- **Compliance:** Bots must comply with all other wiki policies, including the Civility policy, Neutral point of view, and Copyright policy.
Obtaining Bot Status
Operating a bot on this wiki requires explicit permission. The process for obtaining bot status is as follows:
1. **Account Creation:** Create a standard user account for the bot. The username should clearly indicate that it is a bot (e.g., "WikiBot," "ExampleBot"). 2. **User Page:** Create a user page for the bot, including a clear bot notice stating its purpose and operator. Include contact information for the operator. 3. **Proposal:** Submit a proposal on the Bots proposals page detailing the bot's intended tasks, the technical implementation, and a demonstration of its functionality. The proposal must include:
* A detailed description of the bot's purpose. * A list of all the tasks the bot will perform. * The criteria the bot will use to make changes. * A sample of the bot's edits (either on a test wiki or on this wiki with limited scope). * The programming language and libraries used to develop the bot. * A plan for monitoring the bot's activity and addressing any issues that arise.
4. **Community Review:** The proposal will be reviewed by the community, who may ask questions or request modifications. Be prepared to address any concerns raised. 5. **Approval:** If the proposal is approved, the bot will be granted bot status and the necessary permissions.
Allowed Bot Tasks
The following tasks are generally considered acceptable for bots, subject to approval:
- **Fixing Common Errors:** Correcting common spelling mistakes, grammatical errors, and formatting inconsistencies. See List of common typos for examples.
- **Adding Categories:** Automatically categorizing pages based on their content.
- **Infobox Population:** Populating infoboxes with data from reliable sources.
- **Database Updates:** Updating pages with information from external databases (e.g., population statistics, stock prices). Consider the use of Lua modules for this purpose.
- **Vandalism Reversion:** Reverting obvious vandalism. However, bots should not revert good-faith edits.
- **Archiving Talk Pages:** Automatically archiving old talk page discussions. See Archiving talk pages for guidelines.
- **Interwiki Links:** Adding interwiki links to pages that exist in other languages.
- **Disambiguation Links:** Adding disambiguation links to pages that are ambiguous.
- **Template Updates:** Updating templates with new data or functionality.
- **Maintenance Tasks:** Performing routine maintenance tasks, such as removing dead links. Use tools like Special:DeadlinkDetector.
- **User Rights Management:** (With appropriate permissions) Managing user rights based on pre-defined criteria.
Disallowed Bot Tasks
The following tasks are strictly prohibited for bots:
- **Content Creation (Except for Specific, Approved Tasks):** Bots should not be used to create substantial amounts of original content. Exceptions may be made for specific tasks, such as creating stubs based on a pre-defined list of topics.
- **Edit Wars:** Bots should not participate in edit wars or revert edits without careful consideration.
- **Personal Attacks:** Bots should not engage in personal attacks or harassment.
- **Spamming:** Bots should not be used to post spam or advertise.
- **Circumventing Blocks:** Bots should not be used to circumvent blocks or bans.
- **Voting in Discussions:** Bots should not participate in votes or polls.
- **Making Subjective Edits:** Bots should not make edits that require subjective judgment.
- **Mass Editing Without Review:** Bots should not perform mass edits without prior review and approval.
- **Interfering with User Activity:** Bots should not interfere with the editing activities of other users.
Technical Requirements
All bots must adhere to the following technical requirements:
- **Rate Limiting:** Bots must implement rate limiting to avoid overwhelming the wiki servers. A reasonable rate limit is typically 5-10 edits per second. Consider using the API for more efficient editing.
- **User-Agent:** Bots must set a descriptive User-Agent string that identifies the bot and its operator.
- **Error Handling:** Bots must implement robust error handling to prevent crashes and ensure that errors are logged.
- **API Usage:** Bots should use the MediaWiki API whenever possible, as it provides a more efficient and reliable way to interact with the wiki.
- **Concurrency Control:** Bots should implement concurrency control mechanisms to avoid edit conflicts.
- **Respecting `editmaxlag`:** Bots must respect the `editmaxlag` setting, which limits the rate at which edits can be made to a page.
- **Use of Libraries:** Utilizing established and well-maintained MediaWiki API libraries is encouraged. Examples include PyWikibot (Python) and AutoWikiBrowser (C#).
- **Adherence to API Terms of Use:** Bots must comply with the MediaWiki API Terms of Use.
Monitoring and Maintenance
Bot operators are responsible for monitoring their bots' activity and addressing any issues that arise. This includes:
- **Reviewing Logs:** Regularly reviewing the bot's logs to identify errors or unexpected behavior.
- **Responding to Reports:** Responding promptly to any reports of bot-related problems.
- **Updating Code:** Keeping the bot's code up-to-date and addressing any security vulnerabilities.
- **Adapting to Changes:** Adapting the bot's code to accommodate changes to the wiki's policies or software.
- **Performance Monitoring:** Monitoring the bot's performance to ensure that it is operating efficiently. Consider using tools like Special:Statistics.
Revocation of Bot Status
Bot status may be revoked if a bot operator violates this policy or fails to maintain their bot properly. Reasons for revocation include:
- **Malicious Activity:** Using a bot for malicious purposes, such as vandalism or spamming.
- **Disruptive Behavior:** Operating a bot in a way that disrupts the wiki's workflow.
- **Failure to Respond to Reports:** Failing to respond to reports of bot-related problems.
- **Inactivity:** Leaving a bot inactive for an extended period of time.
- **Violation of Technical Requirements:** Failing to adhere to the technical requirements outlined in this policy.
- **Ignoring Community Feedback:** Disregarding constructive feedback from the community regarding the bot's operation.
Advanced Considerations & Strategies
- **Machine Learning Integration:** While potentially powerful, integrating machine learning models into bots requires *extremely* careful consideration and rigorous testing. Bias in training data can lead to undesirable outcomes. Transparency regarding the model’s decision-making process is crucial. Consider [adversarial training](https://arxiv.org/abs/1412.6572) to harden the model against malicious inputs.
- **Sentiment Analysis:** Bots can utilize [sentiment analysis](https://www.nltk.org/howto/sentiment.html) to identify potentially disruptive edits or discussions, but caution is advised as sentiment analysis is not always accurate.
- **Trend Detection:** Monitoring [market trends](https://www.investopedia.com/terms/t/trendanalysis.asp), even within wiki editing patterns (e.g., increased edits on a specific topic), can help bots prioritize tasks. Utilize [moving averages](https://www.investopedia.com/terms/m/movingaverage.asp) to smooth out fluctuations.
- **Statistical Analysis:** Employ [statistical process control](https://asq.org/quality-resources/statistical-process-control) methods to monitor bot performance and identify anomalies.
- **Time Series Forecasting:** Predicting future editing activity using [time series forecasting](https://www.statsmodels.org/stable/generated/statsmodels.tsa.arima.model.ARIMA.html) can help optimize bot scheduling.
- **Natural Language Processing (NLP):** Advanced bots can leverage [NLP](https://www.towardsdatascience.com/introduction-to-natural-language-processing-nlp-f21648ebf649) for more sophisticated tasks, such as summarizing articles or identifying related topics.
- **Anomaly Detection:** Utilize [anomaly detection algorithms](https://scikit-learn.org/stable/modules/outlier_detection.html) to identify unusual editing patterns that may indicate vandalism or malicious activity.
- **Correlation Analysis:** Investigate [correlations](https://www.simplypsychology.org/correlation.html) between different editing patterns to identify potential areas for improvement.
- **Regression Analysis:** Employ [regression analysis](https://www.statisticssolutions.com/regression-analysis/) to predict the impact of bot actions on wiki metrics.
- **Indicator-Based Systems:** Develop a system of [technical indicators](https://www.investopedia.com/terms/t/technicalindicators.asp) to trigger specific bot actions based on predefined thresholds. For example, a surge in revert edits could trigger increased vandalism detection.
- **Dynamic Thresholds:** Implement [dynamic thresholds](https://www.ibm.com/cloud/learn/dynamic-thresholding) that adjust based on historical data and current conditions.
- **Risk Management:** Develop a [risk management](https://www.investopedia.com/terms/r/riskmanagement.asp) plan to mitigate the potential negative consequences of bot actions.
- **A/B Testing:** Use [A/B testing](https://www.optimizely.com/optimization-glossary/a-b-testing/) to compare different bot configurations and identify the most effective approaches.
- **Pattern Recognition:** Implement [pattern recognition](https://www.mathworks.com/help/stats/pattern-recognition.html) techniques to identify and address recurring issues.
- **Data Mining:** Utilize [data mining](https://www.sas.com/en_us/insights/data-mining.html) to extract valuable insights from wiki data.
- **Bayesian Networks:** Employ [Bayesian networks](https://www.ibm.com/cloud/learn/bayesian-networks) to model the relationships between different variables and make more informed decisions.
- **Decision Trees:** Use [decision trees](https://www.mathworks.com/help/stats/decision-tree.html) to automate complex decision-making processes.
- **Genetic Algorithms:** Explore the use of [genetic algorithms](https://towardsdatascience.com/introduction-to-genetic-algorithms-including-implementation-with-python-d618799c8cef) to optimize bot parameters.
- **Monte Carlo Simulations:** Utilize [Monte Carlo simulations](https://www.investopedia.com/terms/m/monte-carlo-simulation.asp) to assess the potential risks and rewards of different bot strategies.
- **Chaos Theory:** While complex, understanding principles of [chaos theory](https://www.britannica.com/science/chaos-theory) can help anticipate unpredictable behaviors within the wiki environment.
Resources
- Special:Bot list
- Bots proposals
- MediaWiki API
- Archiving talk pages
- List of common typos
- Special:Statistics
- Special:DeadlinkDetector
Start Trading Now
Sign up at IQ Option (Minimum deposit $10) Open an account at Pocket Option (Minimum deposit $5)
Join Our Community
Subscribe to our Telegram channel @strategybin to receive: ✓ Daily trading signals ✓ Exclusive strategy analysis ✓ Market trend alerts ✓ Educational materials for beginners