User talk:Klein Muçi

From WikiProjectMed
Jump to navigation Jump to search


Ways to improve Skrapar Castle

Hi, I'm Sulfurboy. Klein Muci, thanks for creating Skrapar Castle!

I've just tagged the page, using our page curation tools, as having some issues to fix. 2

The tags can be removed by you or another editor once the issues they mention are addressed. If you have questions, you can leave a comment on my talk page. Or, for more editing help, talk to the volunteers at the Teahouse. Sulfurboy (talk) 14:06, 23 October 2013 (UTC)[reply]

Hello! I think I might have resolved the references issue. --Klein Muci (talk) 20:01, 23 October 2013 (UTC)[reply]

Hi! It seems you recently created an unreferenced biography of a living person: Xhevahir Spahiu. The community has decided that all new biographies of living persons must contain a reliable source that supports at least one statement made about the person in the article as per our verifiability policy. Please add references as soon as possible. Thanks! --LaraBot (talk) 00:19, 24 October 2013 (UTC)[reply]

A goat for you!

This is a goat.

Alva Mihaj (talk) 22:54, 2 March 2019 (UTC)[reply]

@Alva Mihaj: Thank you! I'll take good care of it. - Klein Muçi (talk) 23:01, 2 March 2019 (UTC)[reply]

Filter help

Hello there. I saw your message regarding edit filters but don't see the details anywhere. Anyways, I have some knowledge about filters and happy to help. Majavah (t/c) 14:05, 14 April 2020 (UTC)[reply]

@Majavah: Hello! Thank you for your fast response! :)
So, the filters we need are these:
  1. One filter that blocks all users, except for admins and crats, from having the ability to change other users' userpages;
  2. One filter that blocks all new and not logged users (IPs) from having the ability to create very short pages in all namespaces;
The reason for the first one is because we don't have a lot of WikiGnomes and WikiJaguars are even more rare. So, the only rare cases when one user might interact with another user's userpage is for vandalism reasons. That is, of course, except for admins who might interact to help a user with a specific need or removing advertising materials from their userpages. Given that a lot of new users also are surprised on rare cases when they discover that their personal userpage can be changed by other users, we thought a filter like this would be a good idea. In EnWiki it doesn't seem like a good idea because it removes the ability from non-admin users to help other users set up their page. But in SqWiki there is a different situation, as I explained above.
The reason for the other filter seems understandable (to fight vandalism) but the reason we'd like that for all namespaces is because many times new users/IPs vandalize different technical and help pages by following red links to them.
As for the syntax optimization in filters we already have active (we only have 5-6 filters in total), I'm writing after getting through with these. :) - Klein Muçi (talk) 14:24, 14 April 2020 (UTC)[reply]
@Klein Muçi: Hi! Filters doing almost the same exist on the Finnish Wikipedia:
  1. For the first one: fi:Toiminnot:Väärinkäyttösuodatin/6. It blocks non-autoconfirmed users from editing other users' talk pages, but allows editing subpages (line 5) and adding speedy deletion templates (line 6).
  2. For the second one, fi:Toiminnot:Väärinkäyttösuodatin/9. It's a little more complicated so I'll go over it line by line:
  • Lines 1-3 are checking if the article is new/was empty before, if it's an article and user is not autoconfirmed
  • Line 4 check if it's not a redirect or disambiguation page (you'll have to edit this for your own language)
  • Line 5 is for optimization: articles over 200 bytes most likely won't match any of the following rules
  • Lines 7-10 contain each one check for it's emptiness, even if one matches the filter will trigger::
  • Line 7 just checks if it's <20 bytes
  • Line 8 checks if it has less than 4 spaces between text characters
  • Line 9 checks if the page ends in "!" or contains "!!" somewhere. this is used for shouting/test pages
  • Line 10 checks if the page is missing either an uppercase char, a lowercase char or a period.
Remember to test in log only first and have community consensus before marking anything as warn/deny. Majavah (t/c) 14:44, 14 April 2020 (UTC)[reply]
@Majavah: Thank you! The first one is what I was looking for. I especially like the editing subpages part because that could be helpful in improving draft articles. Although I'll change the user groups to make it admin/crat only because unfortunately for us, in the past, many edit wars have escalated into fights that explode in non-new users vandalizing each other's user pages.
As for the second one, I'm not sure that's exactly what I'm looking for. We already have some filters that do checking for many of the functionalities of the filter above. I'd like it if it could be tweaked to:
  • Include all namespaces
  • Only base it's checking on page's bytes, excluding the checks for shouting and specific characters so we don't overload the servers without need.
Basically just a simpler version of the one above because we already have filters built specifically for catching shouting, repeating characters and other similar vandalism. - Klein Muçi (talk) 15:06, 14 April 2020 (UTC)[reply]
@Klein Muçi: It should be as simple as this (remember to add localized versions to the exclusion list:
(old_size = 0)
& (page_namespace = 0)
& !("autoconfirmed" in user_groups)
& !(new_wikitext irlike "(#redirect|\{\{disambig|\{\{csd")
& (new_size < 20)
Majavah (t/c) 15:35, 14 April 2020 (UTC)[reply]
@Majavah: thank you! I'll go and do some checks with both of them at SqQuote. I'm an admin there and the traffic of new edits by new users is so low that we basically use it as a test wiki for new tech features. See if they need any further tweaking. Can I write to you here when I'm through with them so we can talk about the few syntax optimizations I mentioned earlier? - Klein Muçi (talk) 15:53, 14 April 2020 (UTC)[reply]
@Klein Muçi: Sure, just make sure to use {{reply to}} or {{ping}} so I'll get a notification. Also, please test everything log-only before activating any user-annoying actions. Majavah (t/c) 15:58, 14 April 2020 (UTC)[reply]

@Majavah: can you add the localized versions please? I was afraid I would break it since two of them include the # symbol.

  1. #REDIRECT;
  2. #RIDREJTO;
  3. Kthjellim;
  4. Delete;
  5. Grise;

- Klein Muçi (talk) 16:26, 14 April 2020 (UTC)[reply]

Are the speedy delete templates really necessary into that list though? :/ We're talking about creating new articles. Why would a user create an article with just a template to delete it? - Klein Muçi (talk) 16:29, 14 April 2020 (UTC)[reply]
@Klein Muçi: (assuming 3-5 are templates) replacing line 3 with & !(new_wikitext irlike "(#redirect|#ridrejto|\{\{kthjellim|\{\{delete|\{\{grise") should do the trick Majavah (t/c) 16:31, 14 April 2020 (UTC)[reply]
@Majavah: Yes, they are. Thank you! :) - Klein Muçi (talk) 16:36, 14 April 2020 (UTC)[reply]
@Majavah: can you take a quick look at the regex of our filters now? Here: link. I believe you'll be able to tell what they're for although the description is in Albanian. (If you have difficulties, just ask me here.) I'm mostly worried about the 6th one. Is there any way to "group" some of the words together? If I keep putting every variation of a single word/expression the list will grow a lot and it will be very hard to read given that everything is written on one single line. Any way to optimize its syntax writing? - Klein Muçi (talk) 17:49, 14 April 2020 (UTC)[reply]
@Majavah: Also, can our 8th filter be made to have different sizes for different namespaces? <20 bytes works fine for all other namespaces but for the mainspace we'd like it to be a bit bigger. We can make a new filter just for articles but I thought maybe there was no need for that and we could tweak this one to do both. Is that possible? - Klein Muçi (talk) 20:03, 14 April 2020 (UTC)[reply]
@Klein Muçi: Couple of notes here:
  • q:sq:Speciale:AbuseFilter/3 seems a little dangerous; if a user accidentally adds a deletion template they can't remove it
  • q:sq:Speciale:AbuseFilter/5: I'm not really sure how the parser works here but I'd recommend changing !"confirmed" in user_groups to !("confirmed" in user_groups) in case there is a parser bug that breaks everything (not that uncommon).
  • q:sq:Speciale:AbuseFilter/6: Why is this for admins and 'crats only? There are reasons that regular editors might add those, for example quotations (this is especially true in Wikiquote). Another thing this might cause is for archival bots to break if those words were used in a conversation.
  • For 6 again: I don't think that the length is going to cause problems (see our Special:AbuseFilter/260), just I'd recommend adding excludes like our one for music-related articles where these aren't that uncommon
  • q:sq:Speciale:AbuseFilter/8: For different sizes for different namespaces; you could replace & (new_size < 20) with
& (
  ((page_namespace = 0) & (new_size < 50))
  | ((page_namespace != 0) & (new_size < 20))
)
Majavah (t/c) 05:44, 15 April 2020 (UTC)[reply]

@Majavah: Thank you for your detailed response! :D

  1. Regarding AF-3: We thought of that but that problem is really rare to us because our communities are very small at the moment (especially compared to EnWiki) and we usually discuss before deleting anything. I mean the admin/crats with the users. Nevertheless, to better address that case, I'll add a notification at the system message that accompanies the filter that specifies to talk with an admin if you've added that template accidentally. Maybe even a warning at the deletion template's page itself.
  2. Okay, I'll do that.
  3. You're very correct in your logic but almost none of those cases are true in our communities. For starters, unfortunately, we don't have a single archiving bot. We don't have a lot of operating bots in general for that case. In SqQuote there is only one that fixes double redirections and in SqWiki, there are only IABot and ListeriaBot. As for the other part of the sentence, we are still to have a discussion about the inclusion of the Albanian bad words/+ 18 images in the community, like EnWiki has had. That's because, until now, that need has never arrived from the community and therefore all the cases that involve the use of the so-called "bad words", have been only to vandalize or to offend another user in their userpages after editwarring. I admit I hadn't thought of music though. Apparently you're right and even though the Albanian banal words have almost never been used in "correct ways", the English counterparts are already in some articles titles in SqWiki about music. That exclusion would be a good idea to know how to do, even for other cases so please, can you help me on that?
  4. Thank you! So, ((page_namespace != 0) & would be every other namespace apart from the main one?

I'm personally monitoring the filters every 2 hours or so for more than 3 days now. I'll be especially attentive to 3 and 6 now that you mentioned them. If we start getting too many false positives, I'll change all of them to autoconfirmed users (and maybe that would be a good idea to know that time has come to have that aforementioned discussion). - Klein Muçi (talk) 10:38, 15 April 2020 (UTC)[reply]

I can't do the change you mention at AF - 5 because apparently it breaks the syntax and it won't let me save. :/ - Klein Muçi (talk) 10:47, 15 April 2020 (UTC)[reply]
Can you copy the exact text you're trying to save somewhere? Majavah (t/c) 10:56, 15 April 2020 (UTC)[reply]
@Klein Muçi:
  1. First: yes, page_namespace is the namespace's internal ID number (see mw:Manual:Namespaces#Built-in namespaces).
  2. Second: for excluding categories you can use & !(lcase(new_wikitext) rlike "(category|translated category in lowercase):.*(category name 1|name 2|third)"). It check if the same line contains "category:" and any of the specified category names separated by |
  3. Third; if the community wants an archival bot I can run the standard archival bot for you.
. Majavah (t/c) 10:55, 15 April 2020 (UTC)[reply]
@Majavah: Nevermind. I just found out I had missed one & symbol.
When listing category names, do I need do write the word "category" each time?
That's great actually! How does the bot work basically? (Although I read its documentation page.) How does it know that it has come the time to archive a certain page? - Klein Muçi (talk) 11:14, 15 April 2020 (UTC)[reply]
First; no, you only need to type it once (or twice if you want to support the English variant) like so (of course change the category names): & !(lcase(new_wikitext) rlike "(category|kategoria):.*(artists|albums|something else)").
Second, about the bot: this is a much better explanation. The bot would work exactly the same as any archival bot here: it looks for timestamps in each section, and if specified amount of time has passed, it moves that section to the archive. Note that the account running the bot (in this case I would run it under User:MajavahBot) needs a bot flag that can only be granted by a bureaucrat (or stewards if there are no local crats). Majavah (t/c) 11:34, 15 April 2020 (UTC)[reply]

@Majavah: Sorry for insisting but can you make the change here so I can use it as a practical example in the future cases? I'll post the code down below. Don't worry about the categories in themselves. I'll take care of them.

!contains_any(user_groups, "sysop", "bureaucrat") &
(
    !(summary irlike "und(id|o)|\brv[vt]?\b|revert") & (
        bad_word := "\bqi\b|qij|qifsha|qirje|qihet|robqir|bythqir|mamqir|moterqir|rracqir|shkerdhej|shkërdhej|\bpidh\b|\bpidhi\b|\bpidha\b|\bpidhat\b|\bkar\b|\bkari\b|\bkarin\b|\bkarit\b|karderr|\bbole\b|kurvë|kurve\b|kurva|kurvat|\brobt\b|peder|jevg|gabel|cifut|çifut|debil|pordh|pjerdh|\bmut\b|\bshit\b|fuck|bitch";

        added_lines irlike bad_word &
        !(removed_lines irlike (bad_word + "|\w\*{1,4}\w")) &
        !((page_title + added_links) irlike bad_word)
    )
)

As for the bot... How does it deal with the archive pages? How does it create them? Or it doesn't, it just keeps adding to the same page forever? - Klein Muçi (talk) 11:48, 15 April 2020 (UTC)[reply]

This should do the trick:
!contains_any(user_groups, "sysop", "bureaucrat") &
(
    !(summary irlike "und(id|o)|\brv[vt]?\b|revert") & (
        bad_word := "\bqi\b|qij|qifsha|qirje|qihet|robqir|bythqir|mamqir|moterqir|rracqir|shkerdhej|shkërdhej|\bpidh\b|\bpidhi\b|\bpidha\b|\bpidhat\b|\bkar\b|\bkari\b|\bkarin\b|\bkarit\b|karderr|\bbole\b|kurvë|kurve\b|kurva|kurvat|\brobt\b|peder|jevg|gabel|cifut|çifut|debil|pordh|pjerdh|\bmut\b|\bshit\b|fuck|bitch";

        !(lcase(new_wikitext) rlike "(category|kategoria):.*(artists|albums|something else)") &
        added_lines irlike bad_word &
        !(removed_lines irlike (bad_word + "|\w\*{1,4}\w")) &
        !((page_title + added_links) irlike bad_word)
    )
)

Archiving bot

For the bot, it depends on how it is configured. You can choose to just use one long archive, automatically create a new archive after the current one has reached a certain number of sections or a certain size in bytes or even a new page each month or year. For a practical example, take a look at my talk page which has the following code:
{{User:MiszaBot/config
| algo                = old(14d)
| archive             = User talk:Majavah/Archive %(counter)d
| counter             = 2
| maxarchivesize      = 150K
| archiveheader       = {{Automatic archive navigator |style=margin: 1px !important; border: 2px solid #ddd; background-color: #f9f9f9; color: black; padding: 10px !important;}}
| minthreadstoarchive = 1
| minthreadsleft      = 4
}}
It specifies that
  • algo = old(14d) the bot will only archive sections where the last reply was over 14d ago
  • archive = User talk:Majavah/Archive %(counter)d archives will have a title of "User talk:Majavah/Archive (the number of the archive)"
  • counter = 2 the current archive page number. this will be automatically incremented by the bot
  • maxarchivesize = 150K archive pages can be max 150 kilobytes, and when they reach that length the bot will increment the counter
  • archiveheader = ... this specifies that each archive will have that text as the header (example)
  • minthreadstoarchive = 1 the bot will archive when there is at least 1 thread ready to be archived. for more busy talk pages this can be implemented so that the bot will archive atleast x threads at a time
  • minthreadsleft = 4 the bot will keep at least 4 last threads on the page when archiving threads
Hope this helps. Majavah (t/c) 11:59, 15 April 2020 (UTC)[reply]
Thank you! Finally, can the bot take care of updating the archive main page like this one? Can it also add a template at the top of the page like in this page? If it can, then we could use it for our VP and other serious pages like that. Even for user talk pages if they choose to. We also protect every archived page but I'm assuming that can't be done by the bot so we'll do that manually. It would be better that what we already have so why not? Always assuming that it can do what I mentioned above. - Klein Muçi (talk) 12:49, 15 April 2020 (UTC)[reply]
@Klein Muçi: As I don't understand your language please correct if I've understood the examples wrong.
  1. The first one (assuming you mean the box that lists all archive pages and the dates) is not built in to the bot, however a list of all archives can be done with a template and a Lua module (I can help you with this).
  2. Yes, it can add a template (or any other text) to the start of any archive (using the template parameter | archiveheader = some text or a {{template}} here)
And sadly no, it can't protect the archived pages (and if you do it manually, you need to make sure that the bot can still write to them). Majavah (t/c) 13:02, 15 April 2020 (UTC)[reply]
Yes you understood correctly. I wasn't aware of such module. I'm assuming that's better than the solution we've chosen. Is it possible to allow only 1 specific user (in this case your bot) the ability to edit fully protected pages? Or maybe we can give your bot admin rights? Or we can program it to archive the pages once every a certain amount of time (some months) and every archive to be in a new page. I believe there are workarounds on that. I'm unfortunately too busy to handle with the bot requests and presentations in our community today, but I'll deal with it tomorrow or the day after that if that's fine with you. I'll ask you tomorrow what do I need to translate for it, if there is any need. Thank you again! :) - Klein Muçi (talk) 13:15, 15 April 2020 (UTC)[reply]
@Klein Muçi: The module would be automatic but it can't get the date range when that archive was used, so it's a tradeoff. For the protection: are you sure autoconfirmed (semi) protection isn't enough? Bots can edit semiprotected pages just fine. Majavah (t/c) 14:20, 15 April 2020 (UTC)[reply]

Oh, I see. Can you give me an example of that template being used? As for the protection policy, the general rule/idea is to make sure to freeze in time the archives. I believe giving the bot admin rights would be a good and easy solution. But if we seem to have problems with that approach (maybe by our crats not wanting to grant admin rights to the bot), we can try general changes on the archives like those. Apparently I had more free time than expected: What do I have to translate for the bot? In the list, please, do include the localization of the module/template related to the archiving process. - Klein Muçi (talk) 15:54, 15 April 2020 (UTC)[reply]

I remember reading somewhere that WMF didn't allow giving a bot admin rights without the bot owner (me) being an administrator. I know that the archives are supposed to be frozen, but will autoconfirmed users actually try to edit these pages? Anyways, couple of pages where the template ({{User:MiszaBot/config}} here) is used: WP:ANI, WP:EFN and my talk page. I'll post you the translatable stuff later today or tomorrow early. Majavah (t/c) 16:09, 15 April 2020 (UTC)[reply]
Okay, we can deal with that rule later. It would help if you find the said policy in the meanwhile. I'm not sure if we understood each-other well on the template part. I was talking about the template of the Archive list module. :) - Klein Muçi (talk) 16:19, 15 April 2020 (UTC)[reply]
Hi, if you want to translate I created sq:Përdoruesi:MajavahBot. The archive list template is at Template:Archive list. Majavah (t/c) 18:41, 15 April 2020 (UTC)[reply]
@Majavah: thank you! I will soon enough. I'll start with the localization of the module first and then go on to the bot page. Can you help me by pointing out what parts would I need to translate at the module Archive list? I think I can find them little by little with trial and error but maybe you're more skillful than me in Lua editing and you can save me some time. I'll try everything on SqQuote first and then we can go at SqWiki. Meanwhile, if you can make the bot's page a bit similar to this maybe it would be a good idea. More than the graphical side, I'm talking about the information provided. The side and the above infoboxes are pretty informative. Besides, a bit of visual standardization is good for the eyes too. This is its version in Albanian. That's, of course, totally non-mandatory. I just think I'll add those infoboxes either way when I do the translation because of the facility they provide in information and I thought maybe you could use some of the information provided in there as inspiration of what text to provide in your bot's page too. After we are through with the module and the bot's user page, you should give me a list of commands or words your bot may use that need translation, if any. For example: Archive -> Arkiv etc. But we'll deal with that later. :) - Klein Muçi (talk) 01:38, 16 April 2020 (UTC)[reply]
I don't think that the module needs anything other translated than the default archive prefix on lines 93 and 141, "no archives yet" on line 192 and the error message starting from line 199. Majavah (t/c) 13:53, 16 April 2020 (UTC)[reply]

@Majavah: hey there! Can you take a look at our version and see if I've got every needed translation? Also, how am I supposed to use the template exactly? If I just put it somewhere, it just shows the archives numbered. Basically just a line of numbers from 1. Isn't it supposed to also show the graphical elements of the archive? The drawer with the files, the words "Archive", etc.? - Klein Muçi (talk) 17:49, 16 April 2020 (UTC)[reply]

@Klein Muçi: Hi! You translated the most important strings, however if you want to you can still translate the error message starting from line 199 (just tell me if you need help with that, it has a little complex syntax). And for displaying: yes, that is supposed to only show the numbers. That template is designed to be used in other templates, such as {{Archives}} and it only contains the logic for listing the articles leaving the formatting for another template. You can take a look at Template:Archive list if you want to change the text formatting. Majavah (t/c) 18:33, 16 April 2020 (UTC)[reply]
@Majavah: Actually i looked at the lines 199+ but I couldn't distinguish the error messages. If they were plenty, I mean. I saw only the one line at line 201. Am I right? If that's the only message error, can you please show me somewhere where that message has appeared so I know the context of the text and I know how to translate it correctly?
As for the template, I see. Does the {{Archives}} template rely on other templates too? Or modules? Or can I just import its code, translate some words and be done with it? - Klein Muçi (talk) 18:47, 16 April 2020 (UTC)[reply]
@Klein Muçi: That error message might not be obvious if you have no programming experience. Actually all lines 199-203 are just making that one error ("Start value (given parameter) is greater than the most recent archive number (last archive)"). For the template: I think that it only needs our ambox styling and Module:InfoboxImage to function properly. Majavah (t/c) 12:51, 17 April 2020 (UTC)[reply]
@Majavah: can you "translate" for me then so I know how to localize it? :P I mean, their meaning so I know what specific changes to do.
I imported that template and it worked sort of fine although we don't have that module. For what specifically does it rely on that module? Judging by its name, I think it interacts with more than 1 template. I'm a bit reluctant of "going deeper" on this road, if you know what I mean. Because the initial idea was to just get the bot working on archiving some discussions and then there came 2 templates, 1 module, their localization and practically if we do get the bot working, we'll first have to fix all our current archiving system to work with the new module. And then there comes another module that sort of might "bring" a whole set of new changes. :P All the changes are for good and we actually need those because they help with the automation and standardization in the project. I'm just describing the reasons why I'm asking for more information and to understand my position that I'll have to take this more slowly than anticipated (at first I thought I could get over it in 2-3 days and get the bot working - and by that I mean fully update our archiving system - in both of our communities during that time). - Klein Muçi (talk) 13:13, 17 April 2020 (UTC)[reply]
I think that it would actually be easier if you translated "Start value (given parameter) is greater than the most recent archive number (number last archive that exists)" to your language and then I could tell you exactly what to change on what lines.
I completely understand about not wanting to import more modules. That module does not have any dependencies (requirements) and it is used to allow easier customization of the image (filing cabinet by default) on the page. For example, with it you can specify only the size or image name to edit and keep everything else as default. If you want, I can also modify that template to only allow using the default image instead. Majavah (t/c) 13:20, 17 April 2020 (UTC)[reply]

@Majavah: Oh, thank you! :) I'll give you the translation soon enough then.

Regarding the module: I see the module is used in more templates than just this one so, in general, it would be a good thing to have but since we haven't yet started the update of the infoboxes in SqWiki (in SqQuote we don't even use infoboxes at the moment) I think that modifying the template to only work with one default image would be a good thing. - Klein Muçi (talk) 17:06, 17 April 2020 (UTC)[reply]

Removed the dependency at q:sq:Special:Diff/20175. Also, make sure to use {{Archives|auto=true}} instead of just {{Archives}} to activate the automatic archives feature. If you want, I can also make that by default.  Majavah (t/c) 17:17, 17 April 2020 (UTC)[reply]
@Majavah: Thank you! I was just giving you the link now when I stumbled upon an edit conflict. Vlera fillestare (parametri i dhënë) është më e madhe se sa numri më i përditësuar i arkivës (numri i arkivës së fundit që ekziston). This is the translation you mentioned above. I believe there are problems in the details but I can solve them after everything is done and I know the logic behind those words. I'll need to see that error rendered somewhere for that because now I'm sort of translating blindly (without context).
Our module;
What's the change between those states? I must disclose I haven't studied the template at all. I only tried it once to see how it would render and then checked its code to see if it needed any modules. After that I came immediately here so I don't really know its capabilities. - Klein Muçi (talk) 17:23, 17 April 2020 (UTC)[reply]
So for more context for the translation: the template allows specifying that "show only archives from archive #X to archive #Y". that error message is shown when X (first archive to be listed) does not exist yet (for example if there are 7 archives but that template is specified to start from archive 10). does that make more sense?
Actually, I remembered wrong about the auto parameter. In short, it allows to specify the format in which the list is shown (biggest difference between the modes being "Archive 1, Archive 2, Archive 3" vs "1, 2, 3"). Actually true is not a supported parameter and I thought it was (having an invalid parameter makes it function differently if no archives exist).  Majavah (t/c) 17:44, 17 April 2020 (UTC)[reply]
@Majavah: Oh, I see. Well then, a better translation would be like this: Është përcaktuar që shfaqja e arkivave të nisë nga arkiva given parameter por ekzistojnë vetëm number last archive that exists arkiva. Without the parentheses around the numbers, because I made them to be part of the core syntax of the sentence. And without the bold emphasis - I put that only to make it easier for your eyes here. It looks fare more humanly like this (the first text was very generic, automatic translation like). The only problem would be for two very specific cases where the number would be 0 and the user would specify to start from 1 and when the number would be 1 and the user would specify to start from 2. Then the grammar would break. I don't think any change could easily be made to the code to address that, no? If not, then it is good as it is. Maybe they're very rare cases. - Klein Muçi (talk) 10:05, 18 April 2020 (UTC)[reply]
@Klein Muçi: Thanks for the translation. In that case, you would want to change the following:
  • on line 199, change '<span class="error">Start value "' to '<span class="error">Është përcaktuar që shfaqja e arkivave të nisë nga arkiva "'
  • on line 201, change '" is greater than the most recent archive number "' to '" por ekzistojnë vetëm "'
  • on line 203, change '".</span>' to ' arkiva".</span>'
For the edge cases; that can be done however as those aren't that common I don't think that would be worth it.  Majavah (t/c) 18:24, 19 April 2020 (UTC)[reply]

@Majavah: Hello! Thank you! I did the changes. Please, can you take a look at the module and the template to see if everything looks all right now? I was checking the template's code more thoroughly. I'm not sure if it has some "unneeded" elements on it. For example this category Archive boxes with unusual parameters. Or other parts when it declares dependencies on some modules, if I'm not wrong. Tmbox, etc. If the category is needed, what is it really for (I was surprised and confused by the β key in it) so I know how to translate it? After this we can continue talking about the bot I think. :) - Klein Muçi (talk) 00:10, 20 April 2020 (UTC)[reply]

Also, can you tell me if I have other things to translate at the template I have missed? - Klein Muçi (talk) 00:16, 20 April 2020 (UTC)[reply]
@Klein Muçi: Hi and sorry for the delay. There are still some text on the bottom of q:sq:Stampa:Archives that can be translated (mainly "Threads older than..." and text related to that). As per the category Archive boxes with unusual parameters, I'm not sure what that's for or why there is a strange parameter. I think that it can just be removed if you don't want to keep it. I didn't notice that it depends on {{Talk other}} (used for different styling on talk pages and non-talk pages and {{if empty}} (used for the search box). I can remove both of those dependencies if that is what you want. Also, one more thing: the box styling needed for the box (tmbox/ombox) is present on sq.wikipedia's common.css but not on sq.wikiquote's common.css meaning that the template will look different on the different wikis.  Majavah (t/c) 11:37, 25 April 2020 (UTC)[reply]
@Majavah: No worry. :) We're planning to change our common.css/js pages in SqQuote with the help of Xaosflux but he's been a bit busy and we're still waiting so if that's the only change needed, it'll be all right as maybe it'll sort itself out a bit later. As for the talk other/if empty, can you describe a bit to me what they serve for? I mean, what does it really mean "different styling"? :P Meanwhile I'll try to look after the translations that are still left and remove the category. Thank you for your patience though! :) - Klein Muçi (talk) 14:38, 25 April 2020 (UTC)[reply]
@Majavah: So... Can you help me with the translation of the rest of the template? XD I tried now translating it as I said but I'm afraid of breaking the parsing syntax and I thought maybe you could save me some trial and errors. :P - Klein Muçi (talk) 23:04, 25 April 2020 (UTC)[reply]
@Majavah: Smol friendly reminder for this conversation if the notification hasn't got to you. - Klein Muçi (talk) 01:54, 5 May 2020 (UTC)[reply]
@Klein Muçi: Thanks for the ping. I'm not really sure what would be the best way to translate that string as languages might have things said in different orders. The text looks something like this (things in parenthesis are sometimes there and sometimes not or may change): (Threads older than 3 (days/hours/other units of time) (are/may be) archived / This page is archived (to Page name/Archive)) (by BotName). If that can be somehow translated without massive re-ordering that would be great, if not, just let me know and I'll figure out another way to make it work.  Majavah (t/c) 05:23, 5 May 2020 (UTC)[reply]

@Majavah: Diskutimet më të vjetra se 3 (ditë/orë/njesi të tjera kohe) arkivohen automatikisht - I added the word "automatically" - Kjo faqe arkivohet te faqja (Emri i faqes/Arkivi) (nga EmriiBotit). It literally requires no re-ordering at all I believe. But don't worry to much. Just get the initial translation (and remove that category) and I'll tweak it along the way after starting to use it, if more modifications are needed. - Klein Muçi (talk) 15:11, 5 May 2020 (UTC)[reply]

@Klein Muçi: Hi, I don't get notified if you insert {{re}} in a different edit than your signature. Template was translated in q:sq:Special:Diff/20293. Can you confirm that Diskutimet më të vjetra se 21 ditë arkivohen automatikisht., Kjo faqe arkivohet nga MajavahBot and Diskutimet më të vjetra se 21 ditë arkivohen automatikisht te faqja Emri i faqes/Arkivi all make sense?  Majavah (t/c) 10:44, 6 May 2020 (UTC)[reply]
@Majavah: Oh, I wasn't sure of that rule. I'll be more careful in the future. I just forgot to add it at the first time. Yes, everything is correct. I'm just curios about what "old" means though? A thread older than 3 days is a thread that has literally 3 days there or is it a thread that has 3 days without any interaction? Because I may need to change the words a bit if it is the later option. To end it with the template localization, I believe I should also translate this last sentence at the end of the template: Edit this box, no? Other than that, I think the next step would be to create a user page for your bot at SqQuote and go on with a bit of localization for it and then I can ask for permission at Meta (since we lack a local crat). - Klein Muçi (talk) 17:37, 6 May 2020 (UTC)[reply]
@Klein Muçi: Yeah, the 3 days old means "3 days with no comments or anything else". Go ahead with translating Edit this box.  Majavah (t/c) 18:15, 6 May 2020 (UTC)[reply]
@Majavah: thank you! Done. Tell me when you create the bot's user page in SqQuote and I'll go on with the translation, if needed, and tell you where to put your bot request and what to do later. - Klein Muçi (talk) 18:50, 6 May 2020 (UTC)[reply]
@Klein Muçi: Hi, I created a local user page for MajavahBot on sq.quote at q:sq:Përdoruesi:MajavahBot.  Majavah (t/c) 05:42, 7 May 2020 (UTC)[reply]
Can you also translate the instructions in q:sq:Përdoruesi:MajavahBot/config? Thanks.  Majavah (t/c) 05:48, 7 May 2020 (UTC)[reply]

@Majavah: Done and done! Now, please fill this form

=== [[Përdoruesi:Emri|Emri]] ===

Operator: Emri i përgjegjësit të robotit
Automatik/i shoqëruar:
Gjuha e programimit:
I përhershëm/i përkohshëm:
Shpeshtësia e redaktimeve:
I shënjuar/i pashënjuar si robot:
Funksioni:

====Diskutimi====

here.

I'll translate for you what those mean. In any case you should erase every word after the : and fill your own words. The [[Përdoruesi:Emri|Emri]] part should be changed to [[Përdoruesi:MajavahBot|MajavahBot]]

Operator = The link to the Bot's operator
Automatik/i shoqëruar = Automatic or supervised (choose one of the Albanian words)
Gjuha e programimit = Programming language used for the bot
I përhershëm/i përkohshëm = Permanent or temporal (choose one of the Albanian words)
Shpeshtësia e redaktimeve = The edits' frequency
I shënjuar/i pashënjuar si robot = Flagged or not flagged as a bot (choose one of the Albanian words)
Funksioni: The function, what the robot does

We literally have had no other requests for approval before this case at SqQuote so the approving process is a bit rough. What I mean by that is that, compared to EnWiki's questions on the form, we are lacking some, including the exclusion compliant one. (Given that the whole bots' infrastructure is just starting at us, a standard for exclusion doesn't exist yet, nor the templates associated with it.) The "do a few edits first as a test" is also missing here, although it is present at SqWiki. Nevertheless, after completing the form, it would be good if we can discuss here and arrange some pages to be archived, so I too get to know the bot's work better. (And hopefully in the future we start to have a better bot infrastructure.) That will take some time I believe, because, as I've mentioned before, we have to adapt the current archiving system to be compliant with the new template and the bot. After everything is done, we still need to make the request at Meta, because we lack a local bureaucrat. If it gets approved, things will run a bit smoother at SqWiki because I can just copy-paste everything and tell our bureaucrats there to speedily approve it. - Klein Muçi (talk) 12:35, 7 May 2020 (UTC)[reply]

@Klein Muçi: I added the request, can you double check that I did it correctly? :D  Majavah (t/c) 12:55, 7 May 2020 (UTC)[reply]
@Majavah: Haha, I enjoyed the "Faleminderit" part! XD Everything is correct. Faleminderit! :P At the moment being, we have 2 pages in need for an archiving process. This has less information than the other one. (The other one being our VP.) It's the place where we have our voting for administrators. Given how the page is set up, what steps should we take for the bot to archive it? Can the template for the bot be set in the entry part? (See the code of the page. "/Hyrja") We usually want pages like these with as less code as possible, so everything not related to the voting or whatever the main purpose of the page is, doesn't stay at the same place with the main page itself. How about the archive template? How would an archive of the page look like for that? Would it archive the whole page or just a section? Basically, what steps should I take there in general? - Klein Muçi (talk) 15:37, 7 May 2020 (UTC)[reply]
@Klein Muçi: Thanks, I don't like making such a large request in a language I can't speak so I try to include always something small (such as thanks) in native language in the request.
  • We usually want pages like these with as less code as possible. [continued] Unfortunately the archiving config must be in the page being archived due to the way the bot finds and reads the configuration.
  • How about the archive template? How would an archive of the page look like for that? Not really sure what you're asking here. The bot can be configured to automatically add some text to the top of all archive pages if that's what you're asking.
  • Would it archive the whole page or just a section? each time it runs (once a day) it will archive all sections that haven't been touched in the configured amount enough time
  • Basically, what steps should I take there in general? You have to add the archive config template to the page you want to be archived and change the base page name in archive parameter  Majavah (t/c) 16:00, 7 May 2020 (UTC)[reply]
@Majavah: Let's start with the Archives template. I put it into the header subpage. It gets a bit "confused" at that page, thinking there are no archives (which is true for that page) but it works fine with the main page. But the search function on the template doesn't work. I thought this was because of the transclusion process but it doesn't work even if you put it at the main page directly. Maybe the template is bugged at that specific part? After we get through with this, we'll deal with the bot's template. - Klein Muçi (talk) 17:01, 7 May 2020 (UTC)[reply]
Hint: Try searching for my name in the archives to see what you get. (My name IS part of the archives.) Take close attention to this: Only searching in pages whose title starts with "[[:Stampa:If empty]]"
@Klein Muçi: I fixed the search. If you don't want it to be confused in the talk page you can replace {{Archives}} with {{Archives|root=Wikiquote:Administrata/}}  Majavah (t/c) 17:20, 7 May 2020 (UTC)[reply]

@Majavah: Yes, thank you! Works perfectly now. So, before going on with the bot's template, an unrelated question: Is there a way I can make the image in that page align in the right with the archives template? In a frameless, upright way? I've tried different methods but I can't reach that result and I've settled for a different look with a thumbnail. - Klein Muçi (talk) 17:47, 7 May 2020 (UTC)[reply]

Unfortunately I'm not able to make anything better than this.  Majavah (t/c) 18:00, 7 May 2020 (UTC)[reply]
@Majavah: Inspired by your edit, I changed the alignment a bit. Thank you! :)) If only "Mirësevini te Administrata!" would be truly in the middle but anyway, it's good like it is. So, now, where do I put the bot's template? I'm guessing I need to put it at the top of Kandidaturat section no? Since that's the part of the page we want to archive. The other parts are transcluded there. - Klein Muçi (talk) 18:50, 7 May 2020 (UTC)[reply]
@Klein Muçi: Ummm, I'm not sure if the bot can only archive a certain section of a page. I think that unfortunately it can only archive level 2 headings (==).  Majavah (t/c) 18:52, 7 May 2020 (UTC)[reply]
@Majavah: Well, level 2 is good. The whole "Kandidaturat" part. Isn't that a level 2 heading? Basically the whole page without the "header" and the "footer". It's not a problem if it gets even those. It's just that until now we've only archived that part of the page. (See the archive for yourself.) Also, given that those other parts are transcluded into the page, maybe in the future, if we do change them, the archives will look strange. Those were the thoughts that led me into that request but apart from that, it's not a big deal if it gets the whole page. - Klein Muçi (talk) 18:59, 7 May 2020 (UTC)[reply]
@Klein Muçi: I meant that every section must have a level 2 heading.  Majavah (t/c) 19:05, 7 May 2020 (UTC)[reply]

@Majavah: I'm not really sure I can understand you. So basically where do you think I should put the bot's template and what do you think will be the archiving results regarding that page? - Klein Muçi (talk) 19:38, 7 May 2020 (UTC)[reply]

@Klein Muçi: The problem with that page is that each thread that can be archived (each candidate) is not a level 2 heading.  Majavah (t/c) 05:10, 8 May 2020 (UTC)[reply]
@Majavah: Well, what happens if I put the bot's template at the top of that page? It does nothing? - Klein Muçi (talk) 11:49, 8 May 2020 (UTC)[reply]
@Klein Muçi: If you currently added the protection template at the top of q:sq:Wikiquote:Administrata it would move the whole "Kandidaturat" section and everything inside it to q:sq:Wikiquote:Administrata/Arkivi 1  Majavah (t/c) 11:54, 8 May 2020 (UTC)[reply]
@Majavah: So it would include the names of the candidates themselves, right? Among other sections. - Klein Muçi (talk) 11:57, 8 May 2020 (UTC)[reply]
@Klein Muçi: Yes, it would move the section title and everything below it to the archive.  Majavah (t/c) 11:58, 8 May 2020 (UTC)[reply]

@Majavah: Well then, that's good enough. That was what I was asking. :P I'll go on with it after some hours. Any chance you (or I?) might force the bot to do the archiving process a bit earlier (or maybe even more than once) so I can tweak the specifications of the template correctly? Just for testing purposes now. - Klein Muçi (talk) 12:03, 8 May 2020 (UTC)[reply]

@Klein Muçi: Yeah, I can do manual runs if needed, just let me know here or on IRC.  Majavah (t/c) 12:04, 8 May 2020 (UTC)[reply]
@Majavah: Okay, I'll tell you here. Thank you! :) - Klein Muçi (talk) 12:19, 8 May 2020 (UTC)[reply]
@Majavah: Hello! Can you take a look here and see if I've done everything all right and basically tell me what I've set up the bot for so I know if I've set it up the intended way or not? I think it is all right. Then we can run a test. - Klein Muçi (talk) 18:38, 8 May 2020 (UTC)[reply]
@Klein Muçi: I see two problems with that page currently: a) the algo parameter is wrong, it should be old(3d) instead of 3 days (are you really sure you want a value that low?) and b) it has maxarchivesize set but does not have a mekanism of changing to next archive (you need to put %(counter)d to the end of the archive page name. It's getting late here so I'll run the trial tomorrow.  Majavah (t/c) 18:56, 8 May 2020 (UTC)[reply]
@Majavah: Good thinking. That's why I asked. I'm still familiarizing myself with the options and how they are executed in practice. Is it good now? If so, what exactly am I telling the bot to do there all in all? And don't worry about the exact time of the trial. I just meant that after we get the template right, we can go on at the trial phase. More as a way to motivate ourselves than as a real informative sentence. :P - Klein Muçi (talk) 19:47, 8 May 2020 (UTC)[reply]
@Klein Muçi: It's better now, I did also some more fixes. Here's what the bot would currently do on that page:
  • Read all sections from that page's wikitext and find one ("Kandidaturat")
  • Try to find timestamps from that section's source code and find that last edit in that section was in May of last year
  • Check the config and ensure that check that the last reply was over 2 weeks ago (yes) and check that at least 1 section can be archived (minthreadstoarchive = 1, 1 is at least 1 so yes)
  • Try to archive as many sections as possible keeping minthreadsleft parameter in mind (this does not do anything as it's 0 but if it was at least 1 it would keep at least 1 section in that page)
  • Move the "Kandidaturat" section and everything in it into archive page q:sq:Wikiquote:Administrata/Arkivi1 (you might be missing a before the number in the configuration space)  Majavah (t/c) 09:28, 9 May 2020 (UTC)[reply]

@Majavah: I see. Well, can it be made to start on Wikiquote:Administrata/Arkivi 2? - Klein Muçi (talk) 10:58, 9 May 2020 (UTC)[reply]

@Klein Muçi: Yes, you have to add a space between Arkivi and %(counter)d and change the counter variable to 2.  Majavah (t/c) 11:26, 9 May 2020 (UTC)[reply]
@Majavah: Is it okay now? Are we good to run a supervised test? - Klein Muçi (talk) 11:41, 9 May 2020 (UTC)[reply]
@Klein Muçi: Sure, I can run the script if you want.  Majavah (t/c) 12:00, 9 May 2020 (UTC)[reply]
@Majavah: Yes. Green light. :P - Klein Muçi (talk) 12:07, 9 May 2020 (UTC)[reply]
@Klein Muçi: Can you delete q:sq:Wikiquote:Administrata/Arkivi 2? I forgot to give the bot ability to edit protected pages and I'd like to try again without creating duplicate archives?  Majavah (t/c) 12:10, 9 May 2020 (UTC)[reply]

@Majavah: I just did. Although I didn't quite understand why. It looked fine to me. :/ I was just going to ask you if the bot can remove the content of the main page when archiving or not. I believe in this case it didn't remove it because we said to leave 1 thread there but if we want to blank out that section, can we? I guess we can't eh? Since it would have to remove the whole section together with the subsections, which are what we really need to remove. - Klein Muçi (talk) 12:23, 9 May 2020 (UTC)[reply]

Also, the summary of the bot's edit needs to be fixed a bit. - Klein Muçi (talk) 12:26, 9 May 2020 (UTC)[reply]
@Klein Muçi: Thanks. The problem is that the bot account was created on sqQuote only two days ago which means it can't edit q:sq:Wikiquote:Administrata as that page is semi-protected and the bot is not yet autoconfirmed.  Majavah (t/c) 12:50, 9 May 2020 (UTC)[reply]
@Majavah: Oh, so that was the reason you wanted to try it again. Well, let me see if I can give it the status. - Klein Muçi (talk) 13:20, 9 May 2020 (UTC)[reply]
@Majavah: Strangely enough, I cannot give to it confirmed user status. Do you know why that might be? I've given that status to new users quite a few times in SqWiki. - Klein Muçi (talk) 13:25, 9 May 2020 (UTC)[reply]
@Klein Muçi: According to q:sq:Special:UserGroupRights only 'crats can do that. As far as I can see that's the default and if a community agrees they can request that sysops can grant that right too.  Majavah (t/c) 13:31, 9 May 2020 (UTC)[reply]

@Majavah: I see... Maybe we have changed that in SqWiki before I became an admin then. What would it take for the bot to become autoconfirmed by itself? - Klein Muçi (talk) 13:38, 9 May 2020 (UTC)[reply]

@Klein Muçi: It will be autoconfirmed in about two days (2020-05-11 at 08:32:23 UTC)  Majavah (t/c) 13:39, 9 May 2020 (UTC)[reply]
@Majavah: Oh well... I'm deleting the archive page then and we try again on Monday. If everything goes well, I'm doing some small changes in SqQuote in general related to the archiving process to accommodate the bot's presence and then I'll go and ask at Meta to flag the bot. - Klein Muçi (talk) 13:46, 9 May 2020 (UTC)[reply]
On the meanwhile, can you change the bot's summary if I give you the correct sentence though? - Klein Muçi (talk) 13:48, 9 May 2020 (UTC)[reply]
@Klein Muçi: The bot is translated via mw:TranslateWiki but I can save your translations there if you provide them here. It might take a week or two to update after I've added them there though.  Majavah (t/c) 14:03, 9 May 2020 (UTC)[reply]

@Majavah: Oh, if that's so, there's no need to do that. I can translate it myself. Just tell me how do I find the translations associated with the bot. I just search for "MajavahBot"? - Klein Muçi (talk) 14:12, 9 May 2020 (UTC)[reply]

@Klein Muçi: On the front page, you have to click "Show all projects" and then search for "Pywikibot Archive Bot".  Majavah (t/c) 14:13, 9 May 2020 (UTC)[reply]
@Majavah: Thank you! Are there only 4 sentences to translate in total? - Klein Muçi (talk) 14:21, 9 May 2020 (UTC)[reply]
@Klein Muçi: Yes, those are the only strings that need to be translated.  Majavah (t/c) 14:23, 9 May 2020 (UTC)[reply]
@Majavah: I translated 2 of those strings and I need a bit of help with the remaining 2. First this one: Bot: Archiving %(count)d {{PLURAL:%(count)d|thread|threads}} from [[%(from)s]]
There should also be 2 versions of this for the word "archiving" like there is for the word "thread", because we use different forms in singular and in plural for verbs. So it should be like this:
  • Singular - Roboti: U arkivua 1 diskutim nga faqja
  • Plural - Roboti: U arkivuan X diskutime nga faqja
Can you do the changes for that please? - Klein Muçi (talk) 14:37, 9 May 2020 (UTC)[reply]
@Klein Muçi: You can use just use Roboti: U arkivuan %(count)d diskutime nga faqja  Majavah (t/c) 14:40, 9 May 2020 (UTC)[reply]

@Majavah: Thank you! Translated all the strings. Can you take a look and check if everything appears to be all right from the tech point of view? Also 1 question: What happens if I "translate" the "Bot" part with the name of the bot? "MajavahBot". I'm guessing I shouldn't do that, no? - Klein Muçi (talk) 15:23, 9 May 2020 (UTC)[reply]

@Majavah: I believe by now the MajavahBot should have become autoconfirmed. Can we run another test? - Klein Muçi (talk) 10:47, 11 May 2020 (UTC)[reply]
@Klein Muçi:  Done  Majavah (t/c) 10:50, 11 May 2020 (UTC)[reply]
@Majavah: Thank you! So 2 questions:
First of all, should I translate the "bot" part like I mentioned above?
And secondly, can't it be made possible so the bot automatically readds this part == Kandidaturat == === Kandidatura nga të tjerë === <!-- Vendosni më të rejat në fillim. --> === Kandidatura vetjake === <!-- Vendosni më të rejat në fillim. --> after archiving the page? - Klein Muçi (talk) 11:40, 11 May 2020 (UTC)[reply]

Section break

@Klein Muçi: First, the translations should not contain "MajavahBot". Second, I don't think it's possible to make it add text after archiving stuff.  Majavah (t/c) 11:52, 11 May 2020 (UTC)[reply]

@Majavah: I see. I was thinking that inspired by the work of the bot here that readds the Sandbox template in the Sandbox but that's a different bot so...
Okay then. I'll do some small changes to accommodate for the bot at SqQuote, ask for a flag at Meta and then we can go on with the bot at SqWiki. If everything's all right, I'll ping you back here to make the request at SqWiki. If not, well, I'll ping you for help, wherever I'm stuck at. :P Thank you! :) - Klein Muçi (talk) 11:59, 11 May 2020 (UTC)[reply]
@Majavah: Please, help me a little choose the correct syntax and magic word here. We have this template we put on archived pages. It notifies the user that they're seeing an archive and categorizes the page on the category where all archived pages are. I also want to make it possible that it puts the template Archives (Arkiva - on Albanian) on those pages automatically. I've been trying different combinations for hours but I can't get it just right. Can you take a look? You can check your results here. I hope I have explained it clearly. - Klein Muçi (talk) 15:25, 11 May 2020 (UTC) I was finally able to fix that! - Klein Muçi (talk) 16:04, 11 May 2020 (UTC)[reply]
@Majavah: While we wait for a response from Meta, can you tell me what modules and templates are needed for the archiving process apart from Module:Archive list, Template:Archive list and Template:Archives? The ones from which you removed dependencies from Template:Archives. Things are a bit different at SqWiki so we need those there. We also need to have the original (but translated) version of template Archives and then we can start having some supervised tests from the bot. - Klein Muçi (talk) 16:44, 11 May 2020 (UTC)[reply]
@Klein Muçi: Hi, I'll reply you about the templates in a few moments. Before that, can you move the flagging request to m:SRB instead of m:SRM?  Majavah (t/c) 16:50, 11 May 2020 (UTC)[reply]
@Majavah:  Done - I must warn you that the activation on Wikipedia may have some pit stops along the way since we may be dealing with a bit of localization regarding the "missing" templates and modules but overall it should be a smoother road than in SqQuote. I've already done most of the translations needed. Just copied them from SqQuote. - Klein Muçi (talk) 17:02, 11 May 2020 (UTC)[reply]
@Klein Muçi: The templates/modules I removed were {{if empty}} (module:if empty), module:InfoboxImage and {{talk other}}. Not sure if others are needed, but those ones I removed.  Majavah (t/c) 17:23, 11 May 2020 (UTC)[reply]

@Majavah: As I suspected, all of those modules and templates already exist at SqWiki. Now can you help me localize the {{Archives}}? We should try to save the current code and only add what was removed. Can you do that at your Sandbox so I can go on and copy the results at SqWiki later? Then I'll do some changes to accommodate the bot at SqWiki and after that we can go on with the approval request. Also, since you changed some details at SqWiki, maybe you want to do that even in SqQuote? Or have you already taken care of that/there is no need for that? - Klein Muçi (talk) 18:20, 11 May 2020 (UTC)[reply]

@Majavah: Everything is all right now. Can you help me just a bit here to fix the square so it envelops the archive? After that, all that remains is to file the request at SqWiki. I'll help you with that and we're done. :) - Klein Muçi (talk) 22:50, 11 May 2020 (UTC)[reply]
@Majavah: Pinging you again just in case the first one may have not gone through. No hurry though. Just wanted to make sure of that. :) - Klein Muçi (talk) 11:19, 12 May 2020 (UTC)[reply]
@Klein Muçi: Thanks, that ping did not go thru. See sq:Special:Diff/2105435.  Majavah (t/c) 11:29, 12 May 2020 (UTC)[reply]
@Klein Muçi: diff link fixed  Majavah (t/c) 11:57, 12 May 2020 (UTC)[reply]
@Majavah: Thank you! Now for the request, you need to create a page like this. The last subpage will be your bot's name. If you see the comments there, you can see the translation for each section. If you're having difficulties though, ask for help here and I'll help you with every section one by one. I must warn you not to expect too much "luxuries" unfortunately because, as I've mentioned earlier, we don't have a good bot infrastructure. Just for curiosity, we (the admins and crats) had trouble remembering how the bot approval system worked in SqWiki when we needed to do so for IA Bot a few months ago because we literally had years without using it before that occasion. Keeping that in mind, don't worry too much in filling any sections wrong. I'd suggest taking a quick look at the discussion section for IA Bot too to know what to expect. After filing the request, I'll talk with a local crat personally to ensure a speedy approval. :) - Klein Muçi (talk) 12:24, 12 May 2020 (UTC)[reply]
@Klein Muçi: created as sq:Wikipedia:Botët/Kërkesë për miratim/MajavahBot.  Majavah (t/c) 12:31, 12 May 2020 (UTC)[reply]

@Majavah: Thank you! :) I'll talk with the crats and get back here if anything's needed. :) - Klein Muçi (talk) 12:43, 12 May 2020 (UTC)[reply]

@Majavah: At SqQuote the bot is approved already. At SqWiki, one of our bureaucrats asked for 1 test and it will be approved even there after that test is run by you. :) - Klein Muçi (talk) 10:32, 16 May 2020 (UTC)[reply]
@Klein Muçi: Thanks. I did 1 full run in both wikis. If everything is fine on sq.wikiquote just let me know and I'll make that a daily job. Also I'd recommend bumping minthreadsleft to at least 1 so your noticeboards won't look empty.  Majavah (t/c) 10:38, 16 May 2020 (UTC)[reply]
@Majavah: Yes, I can confirm everything is all right for SqQuote. I thought that too for minthreadsleft but it is common for us to leave them empty when archiving. The reason for that is because we don't have that many new threads so if we leave them there, we could have very old threads (some months old) and this can give the idea that there is no activity whatsoever or anyone watching them to new users. Especially when they can read the notice saying that threads older than 14 days will be archived automatically. This may seem more discouraging than having a quasi-blank page (which may seem normal after they read the notice about the automatic archiving). - Klein Muçi (talk) 11:16, 16 May 2020 (UTC)[reply]
@Majavah: The bot is also approved in SqWiki starting from now. You can safely insert SqWiki in the bot's scheduled jobs now. Since everything is finished, I'd like to ask one question: How "open" are you to upgrades regarding the bot functions? We have different kind of archives, some more complicated than the others. For example, for my personal archive I use a bit more complicated system of extracting barnstars in a special page in a specific way after archiving the talk page. For our administrator elections we use another more complicated archiving process that involves a table update with specific parameters regarding the elections results (beside the classical archiving of the voting pages). In SqQuote we don't have a complicated system like that as you saw it yourself but still we couldn't use the bot on that page because it removed the headers of the page. It may look like work too complex for the bot but actually is all mechanic work, it just needs to be programmed. And these are all examples from one single specific community. The Albanian one. Other communities in the world might have different needs. Even the English community itself. I've collaborated with Trappist the Monk for many months regarding the CS1 module and, since that module is used worldwide, the requests there never stop and therefore the module itself is ever-evolving to accommodate for different global needs. Can we expect something like this with the MajavahBot? What are your aims with it? It's 100% NOT a problem if you're not aiming for accommodating specific needs apart from the classical ones with it. I'm just asking because if you aim for a kind of internationalization and you want to upgrade your bot accordingly, I already might have a long list of suggestions regarding that. And that's only coming from needs we already have with our important pages. Users might have more specific suggestions related to their talk pages and on top of that, we might have some suggestions related to the overall bots work. For example: Add a possibility to archive a page periodically. Monthly or yearly. We have pages that could benefit from that. Or even the automatic protection of archived pages after they are full, like we talked in the beginning. I repeat: It's not a problem if that's not your aim with it. You are already helping a lot (we did everything manually before it so we certainly can do only some of those things manually now). I just want to know if YOU want ideas and suggestions or are happy with its current state and don't plan to change it for now. Because, if you do and have a lot of free time, I can give you a list of suggestions as I mentioned above. - Klein Muçi (talk) 13:31, 17 May 2020 (UTC)[reply]
@Klein Muçi: Hi, I've setup the scheduling to run the bot every night for both wikis. For customization and future enhancements; I'm really busy this and the next month, so my answer can be significantly different than it would be in a couple of months. Currently I'm not planning to write complicated custom logic that would only be useful in one page (way too much effort and future maintenance cost) but I am open to implementing more generally-useful changes, such as supporting other header levels (just as an example). No promises on timeframe though.  Majavah (t/c) 18:08, 17 May 2020 (UTC)[reply]

@Majavah: Yeah, that's exactly the kind of answer that I needed. I understand. Well then, thank you for everything! You indeed helped our communities a lot, starting with the filters and ending it with a new archiving system, something I didn't even ask for at the beginning. I'm genuinely surprised you had the patience to bear with us (me) all this time without almost ever slacking off. I hope I won't disturb you for some time now, although I believe I have the permission from you to come and ask for tech advice in subjects other than archiving from time to time. You certainly are a good choice for that. :P Thank you and have a good time! :) - Klein Muçi (talk) 19:20, 17 May 2020 (UTC)[reply]

A tag has been placed on Category:CS1 maint: ignored DOI errors requesting that it be speedily deleted from Wikipedia. This has been done under section C1 of the criteria for speedy deletion, because the category has been empty for seven days or more and is not a disambiguation category, a category redirect, a featured topics category, under discussion at Categories for discussion, or a project category that by its nature may become empty on occasion.

If you think this page should not be deleted for this reason, you may contest the nomination by visiting the page and clicking the button labelled "Contest this speedy deletion". This will give you the opportunity to explain why you believe the page should not be deleted. However, be aware that once a page is tagged for speedy deletion, it may be deleted without delay. Please do not remove the speedy deletion tag from the page yourself, but do not hesitate to add information in line with Wikipedia's policies and guidelines. Liz Read! Talk! 14:52, 23 October 2020 (UTC)[reply]

A tag has been placed on Category:CS1 maint: JFM format requesting that it be speedily deleted from Wikipedia. This has been done under section C1 of the criteria for speedy deletion, because the category has been empty for seven days or more and is not a disambiguation category, a category redirect, a featured topics category, under discussion at Categories for discussion, or a project category that by its nature may become empty on occasion.

If you think this page should not be deleted for this reason, you may contest the nomination by visiting the page and clicking the button labelled "Contest this speedy deletion". This will give you the opportunity to explain why you believe the page should not be deleted. However, be aware that once a page is tagged for speedy deletion, it may be deleted without delay. Please do not remove the speedy deletion tag from the page yourself, but do not hesitate to add information in line with Wikipedia's policies and guidelines. Liz Read! Talk! 14:53, 23 October 2020 (UTC)[reply]

Lua advantages

Hi, I saw your question to Trappist, and I thought I would give a personal answer here rather than on their talk page. (I converted the core of the WP:Automated taxobox system to Lua.)

  • One advantage is the more readable syntax once you start to write complex nested expressions. Consider this actual piece of code in the template language from Template:Taxobox/core:
{{#if:{{{virus_group|{{{virus|}}}}}}|[[Virus classification]]|{{#if:{{{ichnos|}}}|[[Trace fossil classification]]|{{#if:{{{veterovata|}}}|[[Egg fossil#Classification|Egg fossil classification]]|[[Taxonomy (biology)|Scientific classification]]}} }} }}
with how you might write it in Lua (assume result holds a string already set up):
if (virusGroup or virus) then
  result = result .. "[[Virus classification]]"
elseif (ichnos) then
  result = result .. "[[Trace fossil classification]]"
elseif (veterovata) then
  result = result .. "[[Egg fossil#Classification|Egg fossil classification]]"
else
  result = result .. "[[Taxonomy (biology)|Scientific classification]]"
end if
It's very easy to lose track of the ending }s in the template language; the more verbose Lua is much easier to read and modify.
  • The template language does not allow loops or self-recursion, so you cannot straightforwardly search a list, for example. (There are tedious ways round this for a limited number of repetitions, but not an indefinite number.) So the core part of the automated taxobox system had to be re-written in Lua once the classification depth passed a certain level. (Look at Template:Taxonomy/Pteranodon for example.)

Peter coxhead (talk) 09:57, 24 October 2021 (UTC)[reply]

@Peter coxhead, hello! Thanks for taking the time to help me. :))
I see. I'll add readability to the list of Lua advantages. :) - Klein Muçi (talk) 10:08, 24 October 2021 (UTC)[reply]

WPCleaner on sqWP

Hi. Following this discussion.

So, WPCleaner can do a lot of things (in bot mode or in manual mode), but it needs to be configured for it on each wiki... I'm already using it a lot with my bot both on enWP and frWP. The 2 wikis have very different approach on bots, so maybe you can pick what suits you best for sqWP:

  • enWP is rather based on a bot approval by task, and cosmetic edits are usually a tough sell => so I have a long well defined list of tasks approved for WikiCleanerBot
  • frWP is rather based on a one time bot approval, and cosmetic edits are less of a problem => so I'm doing more things there (and it's also my home wiki so more involved) but less well defined

Basically, each kind of problem that WPCleaner can detect (and eventually suggest a fix, or even automatically fix) is given an error number (see Wikipedia:WikiProject Check Wikipedia/List of errors which currently lacks a few errors), and a configuration is needed (usually small, but sometimes big for some detection). Error numbers are either between #1 or #113 (for errors related to CheckWiki project) or above #500 (for other errors than are not recognized by CW: Linter errors, specific detection for WPCleaner...). Configuration is dispatched in several places:

There are also some cosmetic edits that can be added too.

If you want, we can begin by working together step by step to make WPCleaner work on sqWP for one error. We can try with one Linter error, it will be easier since there's already a list of pages with errors available. It can be missing-end-tag, misnested-tag, bogus-image-options... For example, missing-end-tag is represented by 2 errors in WPCleaner (#532 for missing end tag and #540 for missing end bold/italic). None of these errors are configured sq:Wikipedia:WikiProject Check Wikipedia/Përkthimi, so configuration need to be added, error_532_xxx_sqwiki and error_540_xxx_sqwiki where xxx is:

  • prio: 1 (top priority) to 3 (low priority) or 0 (disabled, but can be activated in bot mode by setting bot)
  • head: short description that will be used in the edit comment
  • desc: long description that is only for explanation purpose

Can you configure the 2 errors and we'll see after how to check that it works and how we can run WPCleaner to fix a few articles? Notify me when you answer. --NicoV (Talk on frwiki) 18:29, 2 November 2021 (UTC)[reply]

@NicoV, thank you A LOT for the detailed explanations! So, first of all, we're "FrWiki way" all along. Bots get approved only once and they're allowed to do different works and cosmetic changes are allowed. We have less than 100k articles in total so things are yet to be that strict as EnWiki.
Secondly, I ask to forgive me if I'm slow in general in regard to this but from my perspective, even though I deal a lot with robots all day (and I even run one myself), there were a lot of pages with a lot of data with a lot of colors (haha) to be absorbed and I'm yet to fully understand the whole rating system.
Thirdly, a practical question: What does priority really mean? Like I understand that 0 would disable it but what do 1-3 mean practically? Or nothing in particular except for giving information to the reader? I'll go and deal with the translations at the first 2 errors you mentioned. Do I need to change anything on that page though? Or even on the main one? They have more than 5 years without being updated in any way and they all seem very poor comparing them with their EnWiki versions. Maybe you can come and copy-paste the needed changes and I'll deal with the translation? - Klein Muçi (talk) 21:24, 2 November 2021 (UTC)[reply]
@NicoV, I did some translations. Take a look. If you think the overall pages can be updated though, don't worry too much about my translations and just copy-paste the up-to-date English version overwriting that. I can retranslate after. To be honest, it's easier to translate from a fully English page than from a page half in English, half in Albanian. :P - Klein Muçi (talk) 21:43, 2 November 2021 (UTC)[reply]
Hi. Yes, I know there's a lot to absorb here, we'll go step by step. Priority is mostly a visual thing (except for 0 of course), it doesn't really change anything in the tool. I've copy/pasted enWP configuration on sqWP, and changed a few things: it's a basic first configuration, so we'll probably need to update it to adapt it to sqWP.
Errors #532 and #540 are activated and a few errors are detected and can be automatically fixed (like on articles 13 Mars, 1945, 1961–62 Kupa Evropiane...) You can try playing with WPCleaner in manual mode to check that the detection seem ok to you (for example, I disabled error #37 in configuration because I don't think DEFAULTSORT are still useful for accented characters). It's a good way to see what are the results of the configuration.
I'll come back later to explain how to use WPCleaner in bot mode to fix some of the errors. Just if you're interested (it may be tough to understand without explanations): I've developed a small script language to drive WPCleaner in bot mode, I already have many scripts for enWP or frWP. The one I run for each new dump is ListCheckWiki.txt which includes most of the capabilities of WPCleaner in bot mode. --NicoV (Talk on frwiki) 08:08, 3 November 2021 (UTC)[reply]
@NicoV, I fully translated errors 1 to 10. I'm thinking of going on with the translation and finish it all gradually (if I don't do it now, I'll be too lazy to finish it once set up and it'll remain like that for many more years to come :P ) and then starting to experiment with its usage.
2 questions:
  1. Can you also update/change this page? I'll deal with the translation.
  2. Can you tell me more a bit about the whole "WikiProject" thing? What part is actually WikiProject, what part WPCleaner and what part WPCleaner script for bot mode? Does the question make sense? No, it doesn't because I'm explaining it very badly. :P The reason I'm asking is because unfortunately, even though I've tried really hard to make our wikiprojects active, there isn't a single one which is active on SqWiki because of our lack of users. So if possible, it would be interesting to get rid of the "wikiproject aspect" on this thing and only keep what might be interesting to have in a usual informative page of the sort Wikipedia:Check Wikipedia. Does this make more sense? Even "Check Wikipedia" it's a bit ambiguous for us as an informative/help page. Maybe it would be better to have something like: Wikipedia:Syntax fixing or even just a bot user page detailing what the functions and configurations are. That's why I ask which parts consist of the "wikiproject aspect", which parts consist of the WPCleaner and which parts consist of the bot. We may also decide to keep the whole structure how it is: Import every subpage of the Wikiproject from EnWiki (those that make sense to us) and keep it like that for consistency and standardization reasons. But I need to understand better what I'm dealing with before making a choice.
In my mind, the initial idea was of this robot, similar to Internet Archive Bot, that periodically checks and fixes syntax errors of code in pages. This got expanded to syntax errors even on plain text syntax (MOS), to the fact that we're actually dealing with a program/tool, similar to AWB, which then can be utilized in bot or manual mode, that the tool does more than just fixing errors (by giving warnings) and today I learned that, apparently, the whole thing is part of a Wikiproject which deals with wikignome editing and this is "their tool". - Klein Muçi (talk) 11:01, 3 November 2021 (UTC)[reply]
Yes, you can translate everything. I will try to explain :
  • At first, there was the CheckWiki project which was available on several wikis, with a dedicated user interface, and a configuration through a page on each wiki. This project is rather in maintenance mode (no more development except for bug fixes)
  • I developed WPCleaner as a generic tool to fix various problems manually, with automatic suggestions. I created my own configuration page. The first version was only for fixing disambiguation links. At some point, I included also the same detection as CheckWiki in WPCleaner, and integration with it (using also the same configuration page, marking pages fixed on the dedicated user interface...). Later on, I added my own detection (error numbers > #500), which are not part of CheckWiki. And I also added capabilities to work for other WikiGnome projects.
  • Later on, I decided to give bot capabilities to WPCleaner. Bot scripts are not available as pages on each wiki, but as simple files (some are available in GitHub with WPCleaner source code, but it's not required).
I think you can create a page with larger scope than CheckWiki project, Wikipedia:Syntax fixing seems ok. For example, on frWP, there's a fr:Projet:Maintenance. Each wiki has its own projects... This can be decided later, when you have a better understanding.
I hope I was clear enough... My only requirements are to keep the CheckWiki translation page and WikiCleaner configuration page. --NicoV (Talk on frwiki) 17:10, 3 November 2021 (UTC)[reply]
@NicoV, I see. Thanks again for the information provided!
Okay then, I'll try to import all the subpages used in the EnWiki version just for the sake of consistency. My initial idea was to only have a bot userpage and put everything there, even the config. page, similar to IAB because, as I said, we'll hardly have any people to participate in a wikiproject in the near future or people working with it manually (beside me). But maybe we'll decide on that part after I'm done with the translations and I'm more involved with the work per se.
Hopefully I won't disturb you anymore now for a while. After I finish translating everything, which should take a while, I'll ping you again for the next steps. :) - Klein Muçi (talk) 19:47, 3 November 2021 (UTC)[reply]
Hi. Just preparing the future, you can take your time to answer (it can be after translating the configuration page). Currently, between enWP and frWP, my bot is configured to fix the below error numbers (either on their own or when other errors are fixed by the bot). They are the errors I feel confident enough in my tool to let the bot fix them automatically without supervision. Which ones will be of interest for sqWP?
Error numbers: #1, #2, #7, #9, #10, #16, #17, #18, #19, #22, #25, #44, #46, #48, #52, #55, #61, #64, #83, #85, #88, #90, #91, #92, #104, #106, #513, #524, #526, #532, #533, #534, #537, #538, #539, #540, #541, #542, #543, #545, #547, #548, #549, #550, #551, #553, #554, #555, #557, #558, #559, #560, #562, #563, #564, #565, #566, #567, #568, #569
It can also include some generic auto-formatting (see Wikipedia:WPCleaner/Configuration/Help#Auto_formatting_parameters): if you're interested also, we'll see together how to configure it.
--NicoV (Talk on frwiki) 20:46, 5 November 2021 (UTC)[reply]
@NicoV, thanks for your enthusiasm! So far I've only seen up to error 40. I'm translating 10 errors per day. If the rhythm is constant, I'll be finishing up that page in around 10 days? :/ So it will take a while. Once finished, no matter how long it takes, I'll report here and start by answering your question. - Klein Muçi (talk) 00:15, 6 November 2021 (UTC)[reply]

A barnstar for you!

The Citation Barnstar The Citation Barnstar
For your hard work on mantaining citation templates on your home wiki Rlink2 (talk) 04:28, 9 February 2022 (UTC)[reply]

Rlink2 (talk) 04:28, 9 February 2022 (UTC)[reply]

@Rlink2, thanks a lot! This is the first barnstar I receive on EnWiki. It's very motivating. :) - Klein Muçi (talk) 05:00, 9 February 2022 (UTC)[reply]
Well thanks. If you think I can be of any assistance to you please reach out.
Regardless, I think you would make a good steward, I voted for you. I hope you win this time. Rlink2 (talk) 19:13, 9 February 2022 (UTC)[reply]
@Rlink2, thank you for very much! :)) - Klein Muçi (talk) 23:48, 9 February 2022 (UTC)[reply]

mail

Hello, Klein Muçi. Please check your email; you've got mail!
It may take a few minutes from the time the email is sent for it to show up in your inbox. You can remove this notice at any time by removing the {{You've got mail}} or {{ygm}} template.

Regarding the cronjob we discussed earlier at WT:AWB.
—usernamekiran (talk) 16:33, 5 March 2022 (UTC)[reply]

I apologise, I think I found one of my errors (I think there are at least two), I will work on it, and I will send you an updated email. Kindly partially disregard my previous email. Sorry again, —usernamekiran (talk) 16:39, 5 March 2022 (UTC)[reply]
The updated email has been sent. —usernamekiran (talk) 16:56, 5 March 2022 (UTC)[reply]

Hi. There is a discussion going on at wikitech, which you might find of interest. —usernamekiran (talk) 17:46, 7 March 2022 (UTC)[reply]

@Usernamekiran, thanks for letting me know. Did that detail fix all your problems? Was it all caused by "their side"? - Klein Muçi (talk) 17:55, 7 March 2022 (UTC)[reply]
lol no, it just increased my problems. I thought getting successful installation per the "recommended setup" would solve the problem. But like I had said earlier, the recommended process itself was flawed, so part of the problem was/still is from their side. But I think the solution is near. BryanDavis is WMF employee, and they are definitely knowledgeable in their work. From my first hand experience, these two things are mutually exclusive. —usernamekiran (talk) 18:22, 7 March 2022 (UTC)[reply]
Haha, Bryan is the engineer I talked you about in my email and the one who put me into the right tracks when I started so you'd be right to trust him. If all else fails, you might try copying my set up as closely as possible (I'll provide more details if so needed accompanying them with screenshots like I've done so far) and try to make that one work with cron. You'd have a working copy of which you can test on. And if that goes well, you can work backwards and modify it to your needs. - Klein Muçi (talk) 19:04, 7 March 2022 (UTC)[reply]
Thanks. That would be great! I am going out of town soon, and I think I would not have access to my computer for around 10 days. But I can check my emails. I will send you an email in couple of days. Thanks again, —usernamekiran (talk) 19:48, 7 March 2022 (UTC)[reply]

Google

we can continue here Rlink2 (talk) 12:46, 5 May 2022 (UTC)[reply]

Thank you for trying to help, @Rlink2! Below is the whole script currently. You'll quickly notice that the loops have been done with a lot of recurring code.
function autoDelete() {
  var delayDays = 14 // Enter number of days before messages are moved to trash
  var maxDate = new Date();
  maxDate.setDate(maxDate.getDate()-delayDays);
  var label = GmailApp.getUserLabelByName("Phabricator"); // Enter the label which shall be affected
  var threads = label.getThreads();
  for (var i = 0; i < threads.length; i++) {
    if (threads[i].getLastMessageDate()<maxDate)
      {
        threads[i].moveToTrash();
      }
  }
    var label = GmailApp.getUserLabelByName("Gerrit"); // Enter the label which shall be affected
  var threads = label.getThreads();
  for (var i = 0; i < threads.length; i++) {
    if (threads[i].getLastMessageDate()<maxDate)
      {
        threads[i].moveToTrash();
      }
  }
    var label = GmailApp.getUserLabelByName("Toolforge"); // Enter the label which shall be affected
  var threads = label.getThreads();
  for (var i = 0; i < threads.length; i++) {
    if (threads[i].getLastMessageDate()<maxDate)
      {
        threads[i].moveToTrash();
      }
  }
    var label = GmailApp.getUserLabelByName("Pywikibot"); // Enter the label which shall be affected
  var threads = label.getThreads();
  for (var i = 0; i < threads.length; i++) {
    if (threads[i].getLastMessageDate()<maxDate)
      {
        threads[i].moveToTrash();
      }
  }
    var label = GmailApp.getUserLabelByName("Duolingo"); // Enter the label which shall be affected
  var threads = label.getThreads();
  for (var i = 0; i < threads.length; i++) {
    if (threads[i].getLastMessageDate()<maxDate)
      {
        threads[i].moveToTrash();
      }
  }
    var label = GmailApp.getUserLabelByName("Fitbit"); // Enter the label which shall be affected
  var threads = label.getThreads();
  for (var i = 0; i < threads.length; i++) {
    if (threads[i].getLastMessageDate()<maxDate)
      {
        threads[i].moveToTrash();
      }
  }
    var label = GmailApp.getUserLabelByName("Samsung"); // Enter the label which shall be affected
  var threads = label.getThreads();
  for (var i = 0; i < threads.length; i++) {
    if (threads[i].getLastMessageDate()<maxDate)
      {
        threads[i].moveToTrash();
      }
  }
}

- Klein Muçi (talk) 12:55, 5 May 2022 (UTC)[reply]

var delayDays = 14 // Enter number of days before messages are moved to trash
var maxDate = new Date();
maxDate.setDate(maxDate.getDate()-delayDays);
function deleteLabel(namestring) {
    var label = GmailApp.getUserLabelByName(namestring)
    var threads = label.getThreads();
    for (var i = 0; i < threads.length; i++) {
    if (threads[i].getLastMessageDate()<maxDate)
      {
        threads[i].moveToTrash();
      }
  }
}
function autoDelete() { // Enter labels which will be affected
    deleteLabel("Phabricator")
    deleteLabel("Gerrit")
    deleteLabel("Toolforge")
    deleteLabel("Pywikibot")
    deleteLabel("Duolingo")
    deleteLabel("Fitbit")
    deleteLabel("Samsung")
}

Rlink2 (talk) 16:42, 5 May 2022 (UTC)[reply]

@Rlink2, thank you! That was exactly what I was looking for. It run and compiled without any problems.
Now, last question: Do you perhaps know how to write a similar script that does this: Special:Permalink/1085035490#Periodically clean web history? Klein Muçi (talk) 17:37, 5 May 2022 (UTC)[reply]
@Rmvandijk, you may be interested in watching this. User Rlink2 helped me optimize your script for easier multi-label handling. - Klein Muçi (talk) 19:43, 5 May 2022 (UTC)[reply]
@Rlink2, also, small nitpick but maybe we should have some better function names on the new way you've arranged them? Or maybe better overall arrangement? To my untrained eyes they look kinda strange. First you have some variables then the deleteLabel function and then you have the autoDelete function which was supposed to be the main function and is the name of the script itself but now it serves only as a function to list some labels for deleteLabel. But maybe that's just for me. - Klein Muçi (talk) 02:20, 6 May 2022 (UTC)[reply]
@Rlink2, MAYBE you haven't noticed my messages above. If you have, please feel free to ignore this message. - Klein Muçi (talk) 00:12, 16 May 2022 (UTC)[reply]
I will respond to your "clean web history" post later.
The reason why there are so many different calls to the same function is because the code for each label is the same. The only thing that differs is the label name itself, so instead of having many instances of the same code i just put it in a different function and call into it with the unique info (which is the label name). The variables are outside of the function because they only need to be initalized once, if you want you can put it in the "deleteLabel" function but it may use extra computing cycles (the amount is so small to be negligible , so if you think doing that looks better then do so) Rlink2 (talk) 18:06, 16 May 2022 (UTC)[reply]
@Rlink2, thank you for the explanations. I was mostly just curious. Been using it for quite a while now and I'm really thankful for your and Rmvandijk's help. You've both done me a great favor!
Take your time about that. :) - Klein Muçi (talk) 23:25, 16 May 2022 (UTC)[reply]

auto-watchlist-expiry

...has been updated to support temp-watchlisting pages you delete. Refer to the updated instructions on how to use it, and feel free to ask in case something isn't clear or doesn't work right. Rummskartoffel 21:42, 29 May 2022 (UTC)[reply]

@Rummskartoffel, thank you for the notice! Would it be possible to supply the same function for page creation/file upload and page move? I'm especially interested for page creation. My initial plan was to find a way to watchlist forever the pages I create while watchlisting temporarily all the other cases. - Klein Muçi (talk) 00:52, 30 May 2022 (UTC)[reply]
It should be possible, but I haven't done it yet. The trouble is that almost all of these actions have different interfaces (and some, like uploading files and also editing, have more than one each), which all require special handling. I'm probably going to do at least page creation, but beyond that, I'm not sure yet. Rummskartoffel 15:17, 30 May 2022 (UTC)[reply]
@Rummskartoffel, interesting to read. I was thinking now: Does rollbacking/reverting add a page to the watchlist? If that is true, that would be the case for even more potential work but you should be the ultimate judge. Everything is better than nothing and helping in the "temporary watchlist" problem is already a big help given that it is one of the most asked features in the wishlist lately. - Klein Muçi (talk) 22:50, 30 May 2022 (UTC)[reply]
Reverting just opens a slightly modified editing form, so it behaves the same as normal editing. Getting the script to distinguish the two would probably not be too hard. For rollback, there's a checkbox in your preferences (Preferences → Watchlist → Watched pages → check Add pages where I have performed a rollback to my watchlist). That would probably require more work in order to get temporary watchlisting, mostly because I'd have to figure out how to fit some kind of method for duration selection into the relatively cramped UIs of the page history, the watchlist and recent changes.
In other news, you can now set a different expiry to use when creating a page. Rummskartoffel 15:03, 2 June 2022 (UTC)[reply]
@Rummskartoffel, thank you! This more or less concludes the simple version I originally asked for. I'll change the script accordingly and use it on Meta to have it globally installed. If you ever find time to deal with the other cases (upload, move, revert, rollback) let me know so I can update again. Thanks a lot for your work! :))
PS: Does un/protecting affect the watchlist? I think that's the only action left without being mentioned no?
PPS: Does undeleting affect the watchlist? Does the "delete" part in your script deal with that? - Klein Muçi (talk) 18:58, 2 June 2022 (UTC)[reply]
@Rummskartoffel, uhm... I'm kinda lost... How do I specify in your script that "create": "permanent"? - Klein Muçi (talk) 19:02, 2 June 2022 (UTC)[reply]
Would you look at that, I forgot to document that part. You have to use "infinite", not "permanent", which is just a "friendly name" for the actual value used and understood by MediaWiki. But I think I might just put in a special case for "permanent" if I remember to.
As for the other questions:
  • If you wanted to, you could set the unimplemented configuration options already – unknown values are just going to be ignored, and when/if I implement them, they'll start working immediately.
  • I don't know whether protecting, unproctecting, or undeleting affect the watchlist, and can't find out right now. If you want to know quickly, you could try it out on sq.wp on your sandbox.
  • Undeleting would also need special handling, I'm pretty sure.
Rummskartoffel 22:32, 2 June 2022 (UTC)[reply]
@Rummskartoffel, thank you! Just tested them. Protecting and unprotecting apparently are the same thing from the software's POV: You go and choose a level of protection, be that 2, 1, 0 or K. Changing the protection level of a page ADDS it to your watchlist. Undeleting does NOT add a page to the watchlist. So protect is one more thing that needs to be added in that list of potential updates. - Klein Muçi (talk) 00:55, 3 June 2022 (UTC)[reply]
Apparently the script doesn't work globally if added in the global.js page on Meta. It just works on Meta. Oh well... - Klein Muçi (talk) 01:00, 3 June 2022 (UTC)[reply]
Hmm, it works fine on my end. Did you remember to WP:BYPASS your cache? Are there any error messages (usually in red or yellow) in your browser console (see WP:JSERROR on how to open it in your browser)? Rummskartoffel 11:15, 3 June 2022 (UTC)[reply]
@Rummskartoffel, I did and I see no errors, be that in my homewiki or in the Meta. I tried editing and saving a page but the watchlist dropdown menu stays on "Permanent", not one "1 month" as the script is supposed to make it behave like. So it is the same as not having anything installed. :/ Maybe I should wait a bit more for it to take effect. - Klein Muçi (talk) 11:29, 3 June 2022 (UTC)[reply]
And yes, you (and I) were right. I just waited a bit and now it works fine as intended globally. Thank you! :) - Klein Muçi (talk) 11:46, 3 June 2022 (UTC)[reply]
@Rummskartoffel, I've been very happy with your script about the watchlist so far. It does cover up most of my use cases (if not all). I just thought I'd ask, mostly out of curiosity, if you were able to make any changes to it in the meantime in regard to the other aspects we talked about. I'd like to update accordingly. And if not, can I maybe ask you to give me a note if you ever do make the said changes? - Klein Muçi (talk) 11:42, 24 June 2022 (UTC)[reply]
Thank you for reminding me! I actually implemented a custom duration for "undo" a few days ago, but forgot to publish it. I've done that now. And I'd be happy to notify you of any future updates. Rummskartoffel 13:26, 24 June 2022 (UTC)[reply]
@Rummskartoffel, thank you! Added configuration for undo. Do you perhaps remember what's left now? - Klein Muçi (talk) 14:33, 24 June 2022 (UTC)[reply]
Of the things we've talked about, that'd be rollback, protect/unprotect, a bajillion of different file upload wizards, and move. Rummskartoffel 17:58, 24 June 2022 (UTC)[reply]
XD Well, thank you for agreeing to notify me in the future then. :P :)) - Klein Muçi (talk) 18:07, 24 June 2022 (UTC)[reply]
@Rummskartoffel, hello! I wanted to notify you that the delete option in your script behaves, maybe, in an unintended way. The option to add something in the watchlist isn't pre-selected as it does in the other cases. Are you aware of that? Is that intended? - Klein Muçi (talk) 10:58, 1 July 2022 (UTC)[reply]
If you're referring to the "Watch this page" checkbox, then yes, that's intentional and it's also mentioned in the documentation ;). Preferences → Watchlist → Watched pages → check Add pages and files I delete to my watchlist already exists, so I chose not to duplicate that functionality. Rummskartoffel 11:37, 1 July 2022 (UTC)[reply]
@Rummskartoffel, okay. Apparently I must have unchecked that preference in the past when I've become frustrated with my list growing out of proportions. Thank you! :) - Klein Muçi (talk) 11:48, 1 July 2022 (UTC)[reply]

Language parameter on sqwiki

Thank you for your patience. I will be returning to fix this soon. Rlink2 (talk) 13:50, 14 June 2022 (UTC)[reply]

@Rlink2, thank you for this notice! Rome wasn't built in a day. :) - Klein Muçi (talk) 14:26, 14 June 2022 (UTC)[reply]
@Rlink2, hello! How are you doing? Have you found time to give this initiative a bit of thought lately? - Klein Muçi (talk) 10:19, 15 August 2022 (UTC)[reply]
I am doing very well, thanks for asking. I had to take another short break from Wikipedia due to personal reasons but I should be back for good now. Thanks for reminding me, I was just thinking about this a couple of hours ago. I can load up AWB and do some work later today, hopefully I dont forget. Rlink2 (talk) 11:15, 15 August 2022 (UTC)[reply]
Thank you! I was in short wiki-break myself (and most probably will be on-offing for the upcoming 2 weeks) but I thought I'd ask anyway. Glad to hear you're doing good. :) - Klein Muçi (talk) 11:31, 15 August 2022 (UTC)[reply]
@Rlink2, maybe this reminder will be appreciated. :P - Klein Muçi (talk) 11:29, 21 August 2022 (UTC)[reply]
@Rlink2, and another reminder. :P — Klein Muçi (talk) 22:46, 24 August 2022 (UTC)[reply]
I actually did some a day or two ago, going to try to some more. The biggest problem is that my internet is a bit slow, when it speeds up it should be faster Rlink2 (talk) 23:56, 24 August 2022 (UTC)[reply]
Rlink2, oh, I'm sorry then. I thought you'd tell me before and I thought you might had forgotten. I should have checked your contributions, sorry. Know that I'm always ready to help share the work if you tell me what I'd need to do. I actually have an extra laptop in which I have my bot account logged in AWB. I can leave it working 24/7 if needed. — Klein Muçi (talk) 00:00, 25 August 2022 (UTC)[reply]
I am once again active on Wikipedia again, and will be picking up again on this shortly. I have gotten faster internet, and I will try to see if I can send the script to you. Rlink2 (talk) 13:24, 10 October 2022 (UTC)[reply]
Rlink2, thank you for not giving up. — Klein Muçi (talk) 14:34, 10 October 2022 (UTC)[reply]
┌───────────────────────────┘
@Rlink2, any new news? I see you've worked on this some days ago. — Klein Muçi (talk) 14:16, 1 November 2022 (UTC)[reply]
No new news, sorry for the delay. I am trying to get this done as soon as possible. I just had to do some improvements to the script Rlink2 (talk) 22:11, 11 November 2022 (UTC)[reply]

Help on changing section name on page history

Hi, i don't know where to ask this or whether it is possible to do. I have been using this username that's different from the usual username in internet to remain anonymous and objective (I'm active in the fandom of the subject of Wiki article I'm watching over). However, on an active FA discussion I accidentally named a section "Comments by (my usual username)", not this username, outing my identity. It's been up for two days before I realized and changed it, but I wonder if it's possible to change the section name on the page history. - Yolo4A4Lo (talk) 13:28, 28 August 2022 (UTC)[reply]

(talk page stalker) The page history cannot be edited, but you can try contacting the Oversight team and asking them to hide the affected revisions from public view. Rummskartoffel 14:43, 28 August 2022 (UTC)[reply]
Thank you for your suggestion. - Yolo4A4Lo (talk) 00:52, 29 August 2022 (UTC)[reply]


grid engine, again

Hi. Hope you are doing well.
So recently, my tool popped up again on the list of tools running jobs on the grid engine. I updated the command for crontab (from jsub -release buster -N KiranBOT1 kiranbot1.sh to jsub -N KiranBOT1 -release stretch kiranbot1.sh), but even after the updated command, it is still showing up on the grid. It was successfully migrated to buster around April 9. I dont know why it is showing again on grid. Maybe it is because of the way my python is set-up? Currently, the contents of my .sh file are as follows:

#!/bin/bash
source $HOME/.bash_profile
python3 /data/project/shared/pywikibot/stable/scripts/replace.py <rest of the parameters>

Is this similar to your crontab. and .sh file contents? —usernamekiran (talk) 18:13, 8 October 2022 (UTC)[reply]

Usernamekiran, hello!
We have the exact configuration.
#!/bin/bash
source $HOME/.bash_profile
python3 /data/project/shared/pywikibot/stable/scripts/replace.py
The crontab is different from me, maybe you have an improved way:
jsub Smallem-WP.sh

But my bot also shows up in that list. Search for Smallem. I'm not sure if that's good or bad. My bot works fine as it currently is. Tested it recently. — Klein Muçi (talk) 22:54, 8 October 2022 (UTC)[reply]

Happy Christmas!

Rlink2 (talk) is wishing you a Merry Christmas!

This greeting (and season) promotes WikiLove and hopefully this note has made your day a little better. Spread the WikiLove by wishing another user a Merry Christmas, whether it be someone you have had disagreements with in the past, a good friend, or just some random person. Happy New Year!

Spread the Christmas cheer by adding {{subst:Xmas3}} to their talk page with a friendly message.

Rlink2 (talk) 04:55, 24 December 2022 (UTC)[reply]

Merry Christmas, Rlink2! Thank you! :) — Klein Muçi (talk) 10:21, 24 December 2022 (UTC)[reply]

Quick scripts

Hi, with the deployment of MediaWiki this week, the thank button now appears on watchlist, contributions, etc., so I recommend you to stop using QuickThank and remove it from sqwiki. I plan not to fix it if it breaks. I've also updated QuickAccept.js, QuickRollback.js, and ButtonizeRollback.css to accommodate the new interface. I suggest you try them, and if they work for you, update the gadgets. Nardog (talk) 11:25, 6 January 2023 (UTC)[reply]

Nardog, thanks a lot for notifying me and for taking the extra step to update accordingly! Done. — Klein Muçi (talk) 13:46, 6 January 2023 (UTC)[reply]

Disambiguation link notification for March 1

Hi. Thank you for your recent edits. An automated process has detected that when you recently edited Klodiana Shala, you added a link pointing to the disambiguation page Albanian. Such links are usually incorrect, since a disambiguation page is merely a list of unrelated topics with similar titles. (Read the FAQ • Join us at the DPL WikiProject.)

It's OK to remove this message. Also, to stop receiving these messages, follow these opt-out instructions. Thanks, --DPL bot (talk) 06:06, 1 March 2024 (UTC)[reply]