FANDOM


Forums > Administrators' noticeboard archive > NB:Notice of pending shutdown of AJTD6

Hello. For a few years, I have used my bot, AJTD6, to regularly perform several routine tasks on Wookieepedia. For some time now, I have been inactive as an editor, and I am largely starting to fall back from a superfan to a casual fan of Star Wars. I have thus lost interest in editing and maintaining Wookieepedia completely. As a result, I am finding the task of keeping the bot running to be tedious, made worse by the fact that the hardware that it runs on has become unreliable and is annoying and frustrating to maintain. Therefore, I have made the decision that AJTD6 will soon be shut down. AJTD6 currently performs the following three tasks:

  1. Regular archiving of inactive SH, KB, and NB forum threads. Before I got this running, the SH and KB would pile up with months and months of old threads until some admin (sometimes me) finally sacrificed a few hours of their time to knock out the backlog. AJTD6, on the other hand, maintains this in a few seconds per day.
  2. Special purging of articles in Category:Verify, to ensure that these articles are moved into the CSD category when their time expires. This is necessary due to a bug in the core MediaWiki software, and performing this task manually requires a null edit to each article; a simple ?action=purge is not sufficient, and the job queue will not handle it. A bot, on the other hand, can take advantage of a special parameter to action=purge available only in the API to easily and quickly handle all articles in batches.
  3. Cleaning the Wookieepedia:Jundland Wastes sandbox. This is the easiest task to handle manually, but a bot can do it faster, more frequently, and without getting bored.

In hopes of finding another bot operator to take this over, I will make an effort to keep AJTD6 operational for two more months, although as I previously said, the hardware it is running on is becoming unreliable, so I cannot guarantee it won't miss a couple days every now and then. The code for the bot is open source at [1]; it is written in Python 3 using the simplemediawiki framework (pip install --pre simplemediawiki; make sure to include the --pre). You are welcome to take my code and run it as is, modify it slightly, or rewrite it completely. If a current bot operator wishes to take this over, please let me know here or on my user talk page. In any case, AJTD6 will be fully shut down either when another operator confirms they have all three tasks running smoothly, or failing that, on or about Saturday, May 6.

Thanks,

MasterJonathan@wookieepedia.com:~$ 08:30, March 6, 2017 (UTC)

P.S. I have added the {{Sticky}} template to the this thread, to ensure that it remains visible while the shutdown is pending and that AJTD6 does not archive it prematurely. This tag can be removed after the shutdown is complete. MasterJonathan@wookieepedia.com:~$ 08:30, March 6, 2017 (UTC)

  • Thanks for the notice and the bot's service, Jonathan. We'll try and get one of our other bots to take up these tasks. Toprawa and Ralltiir (talk) 09:31, March 6, 2017 (UTC)
  • Reminder that this is now one month away. Has there been any progress on finding someone to take these tasks over? If there's any way I can help, please let me know. MasterJonathan@wookieepedia.com:~$ 08:30, April 6, 2017 (UTC)
    • Hi, I've kind of installed the bot (well, I did so a few months ago). I'm not really familiar with Python nor do I have the time to learn it right now. I've edited mediawiki.py and replaced stuff with my bot's credentials, but when I ./runtask sandbox for example, I get FileNotFoundError: [Errno 2] No such file or directory: '/home/ecks/.passwords.py'. I'm not really sure whether to just paste in my Wikia bot password there. Any help would be appreciated. Cheers, 1358 (Talk) 21:19, April 27, 2017 (UTC)
      • For the way I have it coded, there's a simple but specific format for that file. I'm not at home at the moment, but I'll post that format here when I get home later this evening. MasterJonathan@wookieepedia.com:~$ 21:46, April 27, 2017 (UTC)

Alright, so I looked at the code for the first time in a while. Before doing anything else, run a git pull to grab the commits I just made to fix some things up. After that, AJTD6modules/mediawiki.py will need the following tweaks, if you haven't already:

  • Line 18: change the default task name to something other than my name
  • Lines 53, 62, and 69: change the username to your own bot's username
  • Line 57: change the URL to your bot's user page

Everything else should remain the same. Then, create ~/.passwords.py with the following JSON object:

{
    "Wikia": {
        "bot_password": "123456"
    },
    "contact_email": "johndoe@example.com"
}

Replace 123456 with your bot's password and johndoe@example.com with your email address (used as a default contact point for the user agent string). Also, ensure that the directory ~/logs/AJTD6 exists (non-interactive script runs, such as from a cronjob, will create log files in this directory).

Once that is done, cd to the root of the git repo and run ./master.py to run all three tasks. (./runtask shouldn't generally be used; it is a helper script I used to easily test a particular task while making changes to its code.) Doing it this way should output the log to the terminal. If that works, then you can stick it in a cronjob, as cd /path/to/repo && ./master.py (note that it is dependent on being run from the repository root, not from a higher directory or a subdirectory). Cronjob runs will output the full log to the log directory (one file per run), and any warnings or errors will also get sent to standard output, which a properly configured crontab will email to you.

Hopefully that should get you started. If you still have problems, let me know what errors you're getting and what you're doing and I'll try to help you fix it. MasterJonathan@wookieepedia.com:~$ 00:44, April 28, 2017 (UTC)

  • Alright, I've done the above and everything appears to be working (as in ./master.py doesn't throw any errors), however I'm unable to verify it as I assume your bot has been handling all the tasks so far. Could you please disable AJTD6 so that I can make sure it's actually editing? Cheers, 1358 (Talk) 13:21, April 28, 2017 (UTC)
    • I have just commented out the job in my crontab. AJTD6's last run was 18:00 UTC today (about an hour and a half ago); I had it running every six hours. I'll add something to Wookieepedia:Jundland Wastes in a few minutes so that we can verify that that task is working. The forum archiver won't have anything to do until Monday at the earliest, when it will hit the T-18 thread in the KB (unless you want to reduce one of the inactivity timers in the configuration at the top of that script), and the verify toucher's actions aren't visible until it causes something to move into the CSD category, which it will be able to do at around 5:10 UTC tomorrow. MasterJonathan@wookieepedia.com:~$ 19:36, April 28, 2017 (UTC)
      • The sandbox part appears to be working just fine and I have no reason to suspect that the rest wouldn't be working just fine. Thanks for the help as well as for running AJTD6 all these years! 1358 (Talk) 08:48, April 29, 2017 (UTC)
        • Great, and thank you for taking this over. And apologies for failing to actually put something in the sandbox after posting that; I had just quit my job over illegal demands from my supervisor about an hour before posting yesterday, so my mind was distracted. :P I'll keep an eye on this thread if you have any issues, but I'm removing the {{Sticky}} tag so it can eventually be archived. If you have issues or questions after this gets archived, just drop them on my user talk page (which will trigger an email notification) and I'll see what I can do to help you out. MasterJonathan@wookieepedia.com:~$ 17:25, April 29, 2017 (UTC)

Ad blocker interference detected!


Wikia is a free-to-use site that makes money from advertising. We have a modified experience for viewers using ad blockers

Wikia is not accessible if you’ve made further modifications. Remove the custom ad blocker rule(s) and the page will load as expected.