LinguaLibre

Difference between revisions of "Bot"

(+ malayalam bot)
 
(257 intermediate revisions by 18 users not shown)
Line 1: Line 1:
 
{{LinguaLibre:Bot/intro}}
 
{{LinguaLibre:Bot/intro}}
== Requests ==
+
__TOC__
Add your request below. Follow this template
+
[[Category:Lingua Libre:Help]]
<pre>
+
[[Category:Lingua Libre discussion]]
== Bot request for {language} witkionary ==
+
== [or:wikt] Bot request for Odia Wiktionary ==
* '''Example pages (3):''' [[:ku:wikt:Apple]], [[:ku:wikt:Pomme]] - You can see best audio integration there.
+
{{Bot cycle
* '''Target section:''' the audio file should be added at the end of the <code><nowiki>==Bilêvkirin==</nowiki></code> section, which means ...
+
|request=x
* '''Local audio template(s) example(s):''' <nowiki>{{deng|en|en-us-apple.ogg|Deng (DYA)}}</nowiki>
+
|define=x
 +
|code=x
 +
|submit=x
 +
|merge=x
 +
|ping=x
 +
|notification=x
 +
|help=x
 +
|wait=x
 +
|active=x
 +
|wmlang=or
 +
|requestee=Psubhashish
 +
|botmaster=Poslovitch,  Pamputt
 +
}}
 +
* '''Example pages (3):''' [[:or:wikt:ଓଡ଼ିଆ]], [[:or:wikt:ଓଡ଼ିଆ]] - You can see best audio integration there.
 +
* '''Target section:''' the audio file should be added at the end of the <code>==ଉଚ୍ଚାରଣ==</code> section, which means pronunciation
 +
* '''Local audio template(s) example(s):''' {{ଅଡ଼ିଓ|or|or-ଓଡ଼ିଆ.wav|ଧ୍ୱନି (ମାନକ ଓଡ଼ିଆ)}}  
 
* '''Local audio template(s) explained:'''  
 
* '''Local audio template(s) explained:'''  
** {Deng} means "audio", and take the following parameters...
+
** {ଅଡ଼ିଓ} means "audio", and take the following parameters...
** <code>en</code> is the iso639-2 of the audio.
+
** <code>or</code> is the iso639-2 of the audio.
** <code>en-us-apple.ogg</code> is the filename
+
** <code>or-ଓଡ଼ିଆ.wav</code> is the filename
** <code>Deng (DYA)</code> means audio (deng) and USA (DYA) which is the local variant or accent.
+
** <code>ଧ୍ୱନି (ମାନକ ଓଡ଼ିଆ)</code> means audio (ଧ୍ୱନି) in "ମାନକ ଓଡ଼ିଆ" (standard spoken Odia language) which is the standard spoken variant or accent.
* Request by: ~~~~
+
* Request by: [[User:Psubhashish|Subhashish]] ([[User talk:Psubhashish|talk]]) 19:04, 24 June 2021 (UTC)
</pre>
+
: Hi {{ping|Poslovitch}} is there anything that I need to share with you here? --[[User:Psubhashish|Subhashish]] ([[User talk:Psubhashish|talk]]) 01:33, 29 June 2021 (UTC)
 +
:: Hi {{ping|Psubhashish}} the request looks fine. I'm attending a hackathon this week; I probably won't get to go through all of the requests, but we will probably find a way to speed up the process. I'll keep you posted once the bot is ready to contribute on orwikt ;) --[[User:Poslovitch|Poslovitch]] ([[User talk:Poslovitch|talk]]) 13:15, 29 June 2021 (UTC)
 +
::: Hi {{ping|Poslovitch}}, all the best for the hackathon! :) This can wait after all. Quick question -- there are more than 6K words in the [https://commons.wikimedia.org/wiki/Category:Odia_pronunciation ory category on Commons] which have the File:or-WORD.wav/ogg/flac format (some are ori-nor-NAME.wav and are [https://commons.wikimedia.org/wiki/Category:Baleswari_Odia_pronunciation categorized] properly). [https://commons.wikimedia.org/wiki/Category:Lingua_Libre_pronunciation-ory,_ori 3.7K] of these 6K+ files were recorded using LL but are now disconnected from the LL Wikibase (meaning LL Wikibase will have their former filenames) while renaming on Commons. Can we use your bot to insert them into the respective pages on orwikt? --[[User:Psubhashish|Subhashish]] ([[User talk:Psubhashish|talk]]) 15:07, 29 June 2021 (UTC)
 +
:::: If they got renamed, the bot won't be able to find them, sadly. I'm noting we need a way to detect if a file got renamed on Commons so that the Wikibase here gets updated, which in turn would allow the bot to find the recordings. --[[User:Poslovitch|Poslovitch]] ([[User talk:Poslovitch|talk]]) 16:07, 29 June 2021 (UTC)
 +
::::: {{ping|Poslovitch}}, indeed, linking changed files would be very helpful. Please let me know once your bot starts to insert the recorded files to the Odia Wiktionary. --[[User:Psubhashish|Subhashish]] ([[User talk:Psubhashish|talk]]) 04:14, 5 July 2021 (UTC)
 +
:{{ping|Psubhashish}} I have one more question concerning the template "audio". In the description you gave above, it can be used only for Odia words. If you want LinguaLibre Bot to add audio pronunciations also for words in other languages (French, English, Hindi, etc) that may be present on the Odia Wiktionary, you should give us a string corresponding to <code>ଧ୍ୱନି (ମାନକ ଓଡ଼ିଆ)</code> but for all the other languages (or maybe, there is a way to get these names automatically from Wikidata or any other way). [[User:Pamputt|Pamputt]] ([[User talk:Pamputt|talk]]) 20:54, 11 July 2021 (UTC)
 +
:: {{ping|Pamputt}} I'd guess Wikidata would be the place for other language words. We don't have any active contribution at the moment in other languages but what you asked might arise in the future. There are however, pronunciations in the [[Q322719|Baleswari Odia dialect]] which are rightly tagged here on LL. --[[User:Psubhashish|Subhashish]] ([[User talk:Psubhashish|talk]]) 13:18, 12 July 2021 (UTC)
 +
::: {{ping|Poslovitch}} circling back quickly to check if the Lili bot can be enabled for Odia and the Wiktionary entries can be updated with the recorded audio? Thanks! --[[User:Psubhashish|Subhashish]] ([[User talk:Psubhashish|talk]]) 09:23, 21 July 2021 (UTC)
 +
::::{{ping|Psubhashish}} If you don't change the filenames, we will be able to take over Odia Wiktionary with Lingua Libre Bot in the coming weeks. 🙂 — '''[[User:WikiLucas00|WikiLucas]]''' [[User talk:WikiLucas00|(🖋️)]] 09:59, 21 July 2021 (UTC)
 +
::::: {{ping|WikiLucas00}} {{ping|Poslovitch}} I haven't actually changed many [edit: any recently, I am referring to a few thousand recordings that I have not changed]. Not sure if you have checked my most recent edits. I paused changing until we fully discuss that matter. Please go ahead and help run the bot. --[[User:Psubhashish|Subhashish]] ([[User talk:Psubhashish|talk]]) 04:41, 22 July 2021 (UTC)
 +
:: {{ping|WikiLucas00}} {{ping|Poslovitch}} sorry to say this but it feels like going in circles explaining something. I've stopped renaming files for a reason -- I didn't want to break the linked data from LL which I did not realize. Can we please *not* go again and again over the same renaming issue that is non-existent now and have the bot running for Odia? I do not know how to explain something more explicitly. I had made a request for a bot a month ago and have not renamed files after that. Being a Wikipedian myself, I understand that there are many volunteers who are working hard and I don't expect any requested action to come swiftly. But going over the same thing when it does not exist is a sheer waste of collective time. Should I give up on the bot request and continue only recording? --[[User:Psubhashish|Subhashish]] ([[User talk:Psubhashish|talk]]) 09:00, 24 July 2021 (UTC)
 +
:::{{ping|Psubhashish}} I think the delay comes mainly from the fact people are currently on holidays in France and usually there are less contributions, including coding contributions, during summer time. That's said, I will code the Odia Wiktionary support in Lingua Libre Bot. For now, I have proposed a [https://github.com/lingua-libre/Lingua-Libre-Bot/pull/14 support for the Shawiya Wiktionary] because their structure in very close from the French Wiktionary. Once it will be on production, we will add support for Odia Wiktionary. I prefer to add support one by one not to get all bug reports at the same time. [[User:Pamputt|Pamputt]] ([[User talk:Pamputt|talk]]) 09:59, 24 July 2021 (UTC)
 +
:::: {{ping|WikiLucas00}} Thanks for sharing these. I was almost giving up on the bot linking. No rush though now that there is some plan. --[[User:Psubhashish|Subhashish]] ([[User talk:Psubhashish|talk]]) 09:37, 25 July 2021 (UTC)
 +
 
 +
=== Technical details ===
 +
Psubhashish, I have more technical questions regarding the Oriya Wiktionary support.
 +
# Could you tell me all the languages Lingua Libre Bot should support. I already understood that one section is title <nowiki>==ଓଡ଼ିଆ==</nowiki> but you talked about the Baleswari Odia dialect; is the title section also <nowiki>==ଓଡ଼ିଆ==</nowiki> ?
 +
#: (SP) I'm not sure if I get your question correctly. Baleswari Odia is a dialect of Odia (ଓଡ଼ିଆ) so all words still go to the same Odia Wiktionary.
 +
#:: Ok, clear all the recordings you would like LLBot manage are under <nowiki>==ଓଡ଼ିଆ==</nowiki>.
 +
#::: (SP) Yes.
 +
# Could you translate "Adding a pronunciation audio file from Lingua Libre"? This is the summary that will be displayed when Lingua Libre Bot will add a pronunciation.
 +
#: (SP) Sure, "ଲିଙ୍ଗୁଆ ଲିବ୍ରେରୁ ଏକ ଉଚ୍ଚାରଣ ଅଡ଼ିଓ ଯୋଡ଼ିଲି" (translates to "[I] have added a LL pronunciation audio from Lingua Libre" as it sounds more appropriate for the summary. The literal translation for the English text you've shared would be "ଲିଙ୍ଗୁଆ ଲିବ୍ରେରୁ ଏକ ଉଚ୍ଚାରଣ ଅଡ଼ିଓ ଯୋଡ଼ୁଛି". I am hoping transliterating Lingua Libre is okay. Otherwise you could replace "ଲିଙ୍ଗୁଆ ଲିବ୍ରେ" with "Lingua Libre".)
 +
#:: Thanks, for the transliteration of the name Lingua Libre, up to you; this is what will be displayed on '''your''' wiki. If this understandable by contributors over there, no problem.
 +
#:: (SP) The contributors are one admin who is not active at the moment but is also responsible for keeping the project alive and myself. But we certainly approve. :D
 +
# Could you list all the sections that may follow the pronunciation section (ଉଚ୍ଚାରଣ)?
 +
#: (SP) Odia Wiktionary does not yet have the structure for most of the words. Creating/adding inside the "ଉଚ୍ଚାରଣ" section would be just fine for now.
 +
#:: Ok, I will take into account this point.
 +
#::: {{ping|Psubhashish}} Actually, this question is useful to know '''where''' to create the pronunciation section if there is none. Should LLbot add the pronunciation section at the end of the language section, just before the categories or is there a most suitable location? [[User:Pamputt|Pamputt]] ([[User talk:Pamputt|talk]]) 20:53, 26 July 2021 (UTC)
 +
#:::: (SP) A new "ଉଚ୍ଚାରଣ" section at the end of the language section would make more.
 +
#::::: {{ping|Pamputt}} I just checked an [[:wikt:or:ଟ୍ରାନସ୍ଫର୍ ସାର୍ଟିଫିକେଟ୍|example]]. The section (if it doesn't exist already) <nowiki>==ଓଡ଼ିଆ==</nowiki> should have a subsection called <nowiki>===ଉଚ୍ଚାରଣ===</nowiki> and the audio should go under the "ଉଚ୍ଚାରଣ" section.
 +
# It seems that the ଅଡ଼ିଓ template does not take parameter for specifying the location of the speaker; could you confirm that?
 +
#: (SP) I believe so. Is there an example where it displays the location? We could update the template and translate the parameter fields.
 +
#:: Actually the audio template from enwiktionary does not have such parameter. If you want one example, the [[wikt:fr:Modèle:écouter|écouter template]] on the French Wiktionary has such parameter. It has to been discussed on your wiki to know whether you want to implement this paramter on your template and so whether you want to display such information.
 +
[[User:Pamputt|Pamputt]] ([[User talk:Pamputt|talk]]) 20:05, 24 July 2021 (UTC)
 +
#::: This seems to be quite useful but I am not sure if the location data is captured well. For instance, I have used "Odisha" (which is a province and not city) in all my recordings. This can be ignored for the time being I guess. --[[User:Psubhashish|Subhashish]] ([[User talk:Psubhashish|talk]]) 05:00, 27 July 2021 (UTC)
 +
=== Working prototype ===
 +
{{ping|Psubhashish}} I have a [https://github.com/lingua-libre/Lingua-Libre-Bot/tree/orwiktionary working prototype] for Lingua lIbre Bot to support Odia language. It was a bit tricky to write the code because your Wiktionary is not well formated. It is not a big deal but it makes stuff more difficult to write and I am not sure that all cases are taken into account. In addition, because I do not read the Odia script, it makes me not really confortable to debug. So while waiting for {{u|Poslovitch}} to come back, I can run the bot with my own account (PamputtBot) to check that everything works properly. So if you agree I do so, I can run the bot on 10/20 words and then you could check that it works well and report any problem.
 +
In addition, could you add a label on Wikidata for all language listed [[:wikt:or:ଶ୍ରେଣୀ:ଭାଷା|here]] because for now the bot get the label to identify the language (not the sitelink). So for example, for [[wikt:or:ଓଡ଼ିଆ|ଓଡ଼ିଆ]], it will look for a language whose the Odia label is "ଓଡ଼ିଆ". The same for [[wikt:or:water|water]], it will look for "ଇଂରାଜୀ ଭାଷା" (not "ଇଂରାଜୀ"). [[User:Pamputt|Pamputt]] ([[User talk:Pamputt|talk]]) 18:46, 5 August 2021 (UTC)
 +
: {{ping|Pamputt}}: this is great news. I have linked all the categories inside the main cat [[:wikt:or:ଶ୍ରେଣୀ:ଭାଷା|language]]. Let's see the magic happen. :-) Yes, 10-20 test runs would be good. It is possible to revert even if something goes wrong terribly. --[[User:Psubhashish|Subhashish]] ([[User talk:Psubhashish|talk]]) 01:25, 7 August 2021 (UTC)
 +
::{{ping|Psubhashish}} thanks for linking the main categories. In addition, would it be possible to add the label to the language item. Example : [[d:Q13955|Q13955]] for Arabic language (there is currenlty no label in Odia), the same for [[d:Q9056|Q9056]] (Czech language), etc. This is needed because the bot uses the label of the language item (not the language category item) to determine the language of the section on the Odia Wiktionary. Thanks in advance. [[User:Pamputt|Pamputt]] ([[User talk:Pamputt|talk]]) 08:25, 7 August 2021 (UTC)
 +
::: {{ping|Pamputt}} Done. :)
 +
::::{{ping|Psubhashish}} I have [[:or:wikt:ବିଶେଷ:ଅବଦାନ/Pamputt|run]] Ligua Libre Bot on the Odia Wiktionary with my own account. There was a problem with template name but this is now fixed in the LLbot code and in by hand for the Odia Wiktionary entries. Please check and report any mistake. [[User:Pamputt|Pamputt]] ([[User talk:Pamputt|talk]]) 07:15, 8 August 2021 (UTC)
 +
:: {{ping|Pamputt}} Hello! I just checked and it looks perfect. Thanks much. I think we're good to roll with your bot. :) --[[User:Psubhashish|Subhashish]] ([[User talk:Psubhashish|talk]]) 12:02, 9 August 2021 (UTC)
 +
::: Ok, perfect. I've opened a [https://github.com/lingua-libre/Lingua-Libre-Bot/pull/16 pull request] to add the Odia Wiktionary code to Lingua Libre. I think it will be merged before the end of the month. In the future, it will be important to check whether it works correctly for languages other than the Odia language. [[User:Pamputt|Pamputt]] ([[User talk:Pamputt|talk]]) 12:34, 9 August 2021 (UTC)
 +
:::: Great, thanks much again. Will wait until you have more updates on this. --[[User:Psubhashish|Subhashish]] ([[User talk:Psubhashish|talk]]) 19:20, 10 August 2021 (UTC)
 +
::::: Hi {{ping|Pamputt}} {{ping|Poslovitch}} I didn't realize that you all needed another confirmation and now I realize that relying on notifications is not always helpful. :) Can I request for the bot deployment as there is no red flag that I foresee at the moment? Thanks! --[[User:Psubhashish|Subhashish]] ([[User talk:Psubhashish|talk]]) 08:30, 8 January 2022 (UTC)
 +
::::::[[User:Psubhashish|Subhashish]]: The local ORI community gave its green light ? Which step have been cleared ? [[User:Yug|Yug]] ([[User talk:Yug|talk]]) 09:31, 8 January 2022 (UTC)
 +
:::::::{{Ping|Psubhashish}} Hi, the bot is ready to be deployed on orwiktionary. First, I think [[User:Poslovitch|Poslovitch]] need to perform some test on kuwiktionary and if everything goes well, we can move to orwiktionary. [[User:Pamputt|Pamputt]] ([[User talk:Pamputt|talk]]) 06:46, 10 January 2022 (UTC)
 +
::::::::: {{ping|Yug}} by the community if you mean the admin who is currently unavailable and a new contributor who joined very recently and is learning the guidelines, then I have just pinged in the [https://or.wiktionary.org/wiki/WT:VP village pump]. {{ping|Pamputt}}, sounds great. Please let me know if there is anything I can help with. Thanks! --[[User:Psubhashish|Subhashish]] ([[User talk:Psubhashish|talk]]) 14:17, 26 January 2022 (UTC)
 +
:{{Ping|Psubhashish}} thank you :)
 +
:I was unable to identify the section due to language, can you add "LinguaLibre" or a better link to that section ? Please after 2 weeks, if concensus is to allow the bot, report back to us. If you are the only participant due to low activity on that wiki, we will consider it as a valid concensus for move forward. [[User:Yug|Yug]] ([[User talk:Yug|talk]]) 23:06, 26 January 2022 (UTC)
 +
:: {{Ping|Yug}} [https://or.wiktionary.org/wiki/%E0%AC%89%E0%AC%87%E0%AC%95%E0%AC%BF%E0%AC%85%E0%AC%AD%E0%AC%BF%E0%AC%A7%E0%AC%BE%E0%AC%A8:%E0%AC%86%E0%AC%B2%E0%AD%8B%E0%AC%9A%E0%AC%A8%E0%AC%BE_%E0%AC%B8%E0%AC%AD%E0%AC%BE#LinguaLibre_%E0%AC%AC%E0%AC%9F%E0%AD%8D Done]. I also have pinged [https://or.wiktionary.org/wiki/%E0%AC%AC%E0%AD%8D%E0%AD%9F%E0%AC%AC%E0%AC%B9%E0%AC%BE%E0%AC%B0%E0%AC%95%E0%AC%BE%E0%AC%B0%E0%AD%80:Snip1 User:Snip1] who is an admin but he seems to be away from the project at the moment. Last I checked, he did not have any issue. --[[User:Psubhashish|Subhashish]] ([[User talk:Psubhashish|talk]]) 06:22, 29 January 2022 (UTC)
 +
::: {{Ping|Yug}} just wanted to let you know that the current admin [[User:Snip1]] okayed in the or-wikt[https://or.wiktionary.org/wiki/%E0%AC%89%E0%AC%87%E0%AC%95%E0%AC%BF%E0%AC%85%E0%AC%AD%E0%AC%BF%E0%AC%A7%E0%AC%BE%E0%AC%A8:%E0%AC%86%E0%AC%B2%E0%AD%8B%E0%AC%9A%E0%AC%A8%E0%AC%BE_%E0%AC%B8%E0%AC%AD%E0%AC%BE#LinguaLibre_%E0%AC%AC%E0%AC%9F%E0%AD%8D village pump] with a word of caution to start with a smaller batch, check for accuracy and then proceed. Do let me know when you run the first batch. I can check and confirm if everything looks fine or not. Running the bot for all words would be good after that. --[[User:Psubhashish|Subhashish]] ([[User talk:Psubhashish|talk]]) 02:28, 10 February 2022 (UTC)
 +
 
 +
=== Stalled ===
 +
Because, all files have been renamed on Wikimedia Commons without propagating the new filename in the Lingua Libre Wikibase, Lingua Libre Bot cannot guess what is the audio filename. So currently, Lingua Libre Bot cannot work on orwiktionary. More detail on [[wikt:or:ବ୍ୟବହାରକାରୀଙ୍କ_ଆଲୋଚନା:Psubhashish#Lingua_Libre_Bot|orwiktionary]]. [[User:Pamputt|Pamputt]] ([[User talk:Pamputt|talk]]) 12:04, 8 February 2023 (UTC)
 +
:I think I have now found a way to workaround this problem. This is done with [https://github.com/lingua-libre/Lingua-Libre-Bot/commit/6b700d14d70cce878b737229fdce2aaead369f3a this commit]. I have run LLbot on orwiktionary for a few entries. If everything is good, I will run the Lingua Libre Bot for all other recordings. [[User:Pamputt|Pamputt]] ([[User talk:Pamputt|talk]]) 19:02, 19 March 2023 (UTC)
  
 +
=== It runs ===
 +
Finally, the bot got the bot flag for orwiktionary and I just started it to add all missing audio recordings. It should also add automatically the new recording on orwiktionary. [[User:Pamputt|Pamputt]] ([[User talk:Pamputt|talk]]) 21:18, 22 March 2023 (UTC)
 +
:{{Ping|Psubhashish}} you got an happy [[:en:Newroz|Newroz]]'s gift ! :) [[User:Yug|Yug]] ([[User talk:Yug|talk]]) 21:48, 22 March 2023 (UTC)
 +
:: We have come a long way my friend. Thank you for all you support, [[User:Pamputt|Pamputt]]! --[[User:Psubhashish|Subhashish]] ([[User talk:Psubhashish|talk]]) 18:46, 25 March 2023 (UTC)
  
== Bot request for ku.wiktionary ==
+
== [ku:wikt] Bot request for Kurdish Wiktionary ==
 +
{{Bot cycle
 +
|request=x
 +
|define=x
 +
|code=x
 +
|submit=x
 +
|merge=x
 +
|ping=x
 +
|notification=x
 +
|help=x
 +
|wait=x
 +
|active=x
 +
|wmlang=ku
 +
|requestee=Balyozxane
 +
|botmaster=Poslovitch,Pamputt
 +
}}
 +
{{done}}
 
* '''Example pages (3):''' [[:ku:wikt:beran]], [[:ku:wikt:başûr]], [[:ku:wikt:keskesor]]- You can see best audio integration there.
 
* '''Example pages (3):''' [[:ku:wikt:beran]], [[:ku:wikt:başûr]], [[:ku:wikt:keskesor]]- You can see best audio integration there.
 
* '''Target section:''' The audio file should be added at the end of the <code>=== Bilêvkirin ===</code> section, which means "Pronunciation". If there is no <code>=== Bilêvkirin ===</code> section on the page, please create one after the language section, that is <code>== {{<nowiki/>ziman|<lang code>}} ==</code>. If there is no language section, the audio file should not be added.
 
* '''Target section:''' The audio file should be added at the end of the <code>=== Bilêvkirin ===</code> section, which means "Pronunciation". If there is no <code>=== Bilêvkirin ===</code> section on the page, please create one after the language section, that is <code>== {{<nowiki/>ziman|<lang code>}} ==</code>. If there is no language section, the audio file should not be added.
Line 34: Line 125:
 
:::::{{ping|Balyozxane}} Thanks! I'll get to work ASAP. I'll notify you once I'm ready to test the bot ;) --[[User:Poslovitch|Poslovitch]] ([[User talk:Poslovitch|talk]]) 13:19, 23 February 2021 (UTC)
 
:::::{{ping|Balyozxane}} Thanks! I'll get to work ASAP. I'll notify you once I'm ready to test the bot ;) --[[User:Poslovitch|Poslovitch]] ([[User talk:Poslovitch|talk]]) 13:19, 23 February 2021 (UTC)
 
::::::Thank you![[User:Balyozxane|Balyozxane]] ([[User talk:Balyozxane|talk]]) 08:00, 24 February 2021 (UTC)
 
::::::Thank you![[User:Balyozxane|Balyozxane]] ([[User talk:Balyozxane|talk]]) 08:00, 24 February 2021 (UTC)
 +
Lingua Libre Bot [[wikt:ku:Wîkîferheng:Dîwan/2023#Lingua_Libre_Bot_(final_step)|is finally running]] on ku.wiktionary.org. [[User:Pamputt|Pamputt]] ([[User talk:Pamputt|talk]]) 22:41, 25 January 2023 (UTC)
  
 
== Connexion via Oauth and Bots for Unilex lists editing ==
 
== Connexion via Oauth and Bots for Unilex lists editing ==
 +
{{done}}
 +
 
{{ping|Olaf|Poslovitch}} Hello folks. I'am having some connection issues with WikiAPI (JS) code to connect to LinguaLibre. Is there some special thing to do to connect my bot to edit Lili ? As human using chrome, being connected to Commons alone doesn't connect you to LinguaLibre. We have to come here, click login, which sends a Oauth query (I guess), check my login status on Commons, then makes something so I'am loggued into both Commons and Lingualibre. I suspect some additional Oauth query is needed inside my bot. [[User:Yug|Yug]] ([[User talk:Yug|talk]]) 21:22, 1 March 2021 (UTC)
 
{{ping|Olaf|Poslovitch}} Hello folks. I'am having some connection issues with WikiAPI (JS) code to connect to LinguaLibre. Is there some special thing to do to connect my bot to edit Lili ? As human using chrome, being connected to Commons alone doesn't connect you to LinguaLibre. We have to come here, click login, which sends a Oauth query (I guess), check my login status on Commons, then makes something so I'am loggued into both Commons and Lingualibre. I suspect some additional Oauth query is needed inside my bot. [[User:Yug|Yug]] ([[User talk:Yug|talk]]) 21:22, 1 March 2021 (UTC)
 
: Normally the login procedure here is very complicated: [[mw:OAuth/For_Developers]], and I've never managed to implement it, however if you use a bot account, you can create a password in [[Special:BotPasswords]], and then log in directly on Lingua Libre wiki without Commons. Alternatively you can use one of the [[mw:OAuth/For_Developers#Node.js|JS frameworks]] to log in. Finally, if you are logged in manually in the browser, the authorization proof should be in cookies, so the JS scripts in the browser should work fine. [[User:Olaf|Olaf]] ([[User talk:Olaf|talk]]) 21:19, 1 March 2021 (UTC)
 
: Normally the login procedure here is very complicated: [[mw:OAuth/For_Developers]], and I've never managed to implement it, however if you use a bot account, you can create a password in [[Special:BotPasswords]], and then log in directly on Lingua Libre wiki without Commons. Alternatively you can use one of the [[mw:OAuth/For_Developers#Node.js|JS frameworks]] to log in. Finally, if you are logged in manually in the browser, the authorization proof should be in cookies, so the JS scripts in the browser should work fine. [[User:Olaf|Olaf]] ([[User talk:Olaf|talk]]) 21:19, 1 March 2021 (UTC)
Line 45: Line 139:
 
::Any explanation for this ? [[User:Dragons Bot|Dragons Bot]] ([[User talk:Dragons Bot|talk]]) 21:30, 1 March 2021 (UTC)
 
::Any explanation for this ? [[User:Dragons Bot|Dragons Bot]] ([[User talk:Dragons Bot|talk]]) 21:30, 1 March 2021 (UTC)
 
:::Starting to work. Situation unlocked. Thank [[user:Olaf|Olaf]]. [[User:Yug|Yug]] ([[User talk:Yug|talk]]) 22:08, 1 March 2021 (UTC)
 
:::Starting to work. Situation unlocked. Thank [[user:Olaf|Olaf]]. [[User:Yug|Yug]] ([[User talk:Yug|talk]]) 22:08, 1 March 2021 (UTC)
 +
 +
== Lists: approach and limits ==
 +
Dragons Bot script is ready to run. A test back is visible on [[Special:Contributions/Dragons_Bot]].
 +
 +
I propose the following ranges of words for lists creations :
 +
<pre>
 +
var ranges = [
 +
[ '00001', '00200' ],  // 1) 'List:Ibo/Most_used_words,_UNILEX_1:_words_00001_to_00200'
 +
[ '00201', '01000' ],  // 2) 'List:Ibo/Most_used_words,_UNILEX_2:_words_00201_to_01000'
 +
[ '01001', '02000' ],  // …
 +
[ '02001', '04000' ],  // 4) <←——— 1st threshold
 +
[ '05001', '10000' ],  // …
 +
[ '10001', '15000' ],  //
 +
[ '15001', '20000' ],  //
 +
[ '20001', '25000' ],  //
 +
[ '25001', '30000' ],  // 9) <←——— 2nd threshold
 +
[ '30001', '35000' ],  //
 +
[ '35001', '40000' ],  //
 +
[ '40001', '45000' ],  //
 +
[ '45001', '50000' ]  //
 +
];</pre>
 +
 +
I willfully create a '''smooth ramp approach''' to onboard new comers. I tested, 200 is a nice balance while we start. It is gently ambitious and about 10 mins works. It typically the kind of list-size I was looking for demoing in IRL events, with new users. Then can do just 20 if they wish. But the length alone, 200, encourage to flow it forward and to try out the Lingualibre productive flow which appears after 20~30 words but requires 50 words to "see the power" of LinguaLibre.
 +
 +
As for the depth, I first though of a deal :
 +
<pre>
 +
// `corpus-limit`:
 +
//  - default: x = 6000;
 +
//  - active: x = 30000
 +
//  - rule: if recordings > 2000 according to https://lingualibre.org/wiki/LinguaLibre:Stats, then `active`.
 +
</pre>
 +
 +
With that rule, our 17 most active languages get 30,000 words via 9 files. All others get 5,000 words via 4 files.
 +
 +
But after some though I'am wondering if this 5,000 first limit is too small. It allows good on-boarding, but then nothing. Waiting still a bit. [[User:Yug|Yug]] ([[User talk:Yug|talk]]) 22:22, 4 March 2021 (UTC)
 +
 +
<hr>
 +
Hi everyone ! Unilex import has started, you may see it happen [https://lingualibre.org/index.php?hidehumans=1&namespace=0&invert=1&limit=1000&days=7&enhanced=1&title=Special:RecentChanges&urlversion=2 on recent bot edits] or on [[Special:Contributions/Dragons_Bot]]. At the end :
 +
* breath: 1001 languages will be covered
 +
* type: with their frequency lists, from Unilex.
 +
* amount: ~100 major languages (has iso639-2 in 2 character) will have by default a maximum of 30,000 words. Minor languages will have at maximum 6000 words.
 +
Note: I noticed some errors after launching. Those will be fixed in my code and on Lingualibre.
 +
 +
These uploads are done using [[User:Kanasimi]]'s Wikiapijs framework. :) [[User:Yug|Yug]] ([[User talk:Yug|talk]]) 10:15, 17 May 2021 (UTC)
 +
 +
== Imported list names ? ==
 +
{{done}}
 +
 +
:{{ping|Pamputt}}, I derivated from the IETF's column on the right a new `iso639-3` column on the left. These `iso639-3` will provide the <code>Iso</code> in <code>List:{Iso}/{Title}{range}</code>. But I often didn't know what was the `iso639-3` versions so I kept the IETF tag (ceux avec les <code>-</code>). Could you review [https://github.com/hugolpz/Dragons_Bot/blob/main/languages.js languages.js] and share with me possible corrective indications ? Or is it ok if I use those ? (I don't think so, the record wizard will have difficulties finding them) [[User:Yug|Yug]] ([[User talk:Yug|talk]]) 22:28, 4 March 2021 (UTC)
 +
::About two letters code, you can find the "equivalent" ISO 639-3 code using this [[w:en:List_of_ISO_639-1_codes|Wikipedia page]]. For example, "ae-Latn" corresponds to "ave" on LinguaLibre. [[User:Pamputt|Pamputt]] ([[User talk:Pamputt|talk]]) 06:46, 5 March 2021 (UTC)
 +
:::Yes, I need to be sure I'am converting correctly from composite IETF into current conventions (iso639-3 right?). Thanks for the lead on `ave`, I will check those. I gathered below the list of items I'am confused by.
 +
<pre>
 +
{ 'iso639-3':'ave', file:'ae-Latn' },
 +
{ 'iso639-3':'', file:'be-tarask' },
 +
{ 'iso639-3':'', file:'blt-Latn' },
 +
{ 'iso639-3':'', file:'ca-valencia' },
 +
{ 'iso639-3':'', file:'ctd-Latn' },
 +
{ 'iso639-3':'', file:'el-Latn-u-sd-it75' },
 +
{ 'iso639-3':'', file:'gsw-u-sd-chag' },
 +
{ 'iso639-3':'', file:'gsw-u-sd-chbe' },
 +
{ 'iso639-3':'', file:'gsw-u-sd-chfr' },
 +
{ 'iso639-3':'', file:'kab-Arab' },
 +
{ 'iso639-3':'', file:'kab-Tfng' },
 +
{ 'iso639-3':'', file:'rm-puter' },
 +
{ 'iso639-3':'', file:'rm-rumgr' },
 +
{ 'iso639-3':'', file:'rm-surmiran' },
 +
{ 'iso639-3':'', file:'rm-sursilv' },
 +
{ 'iso639-3':'', file:'rm-sutsilv' },
 +
{ 'iso639-3':'', file:'rm-vallader' },
 +
{ 'iso639-3':'', file:'sr-Latn' },
 +
{ 'iso639-3':'', file:'vec-u-sd-itpd' },
 +
{ 'iso639-3':'', file:'vec-u-sd-itts' },
 +
{ 'iso639-3':'', file:'vec-u-sd-itvr' },
 +
</pre>
 +
:::Do we have a naming convention for cases like <code>gsw</code>, <code>rm</code> and <code>vec</code> '''which has several sub elements each''' ? Should I do <code>List:{gsw}/u-sd-chag/{title}</code> ? I will return here later to complete all those I can. [[User:Yug|Yug]] ([[User talk:Yug|talk]])
 +
::::What I know is Lingua Libre uses ISO 639-3 to identify the language in the lists. So we should use pure ISO 639-3 to name the lists. Let us talk about <code>rm</code> for example, the ISO 639-3 code is "roh". The text after the hyphen is used to discriminate the dialects. On LinguaLibre, we can create list for a given dialect, but it should be named such as "List:Roh/Puter-namelist" or maybe "List:Roh/Puter/Namelist". I have not checked what is the behaviour of the list taht would be named following the last proposal.
 +
:::: The same remark applied for IETF code such as "kab-Arab". It that case, "Arab" is about the script. So we could name the list such as "List:Kab/Arab/namelist" for example. [[User:Pamputt|Pamputt]] ([[User talk:Pamputt|talk]]) 08:59, 5 March 2021 (UTC)
 +
::::: It's a more general question - how should the resulting recording files look like? For example <code>be-tarask</code> is a standard Belarussian but written with Latin script instead of Cirillic. Still most Wiktionaries considers it a separate language (example: [[wikt:fr:Catégorie:biélorusse_(tarashkevitsa)]]). If the LiLi bot is supposed to attach the recordings properly, the language should have a separate ISO code in LiLi. You can't just put it as a version of <code>bel</code>. But LiLi has only one Belarussian language code defined.
 +
::::: <code>sr-latin</code> is a Latinized version of Serbian, but the French Wiktionary puts it in the same bag with Cyrillic: [[:wikt:fr:Catégorie:serbe]], in the Polish Wiktionary we allow only the Cyrillic script in Serbian, in English Wiktionary everything is together with Croatian as the Serbo-Croatian language. Total mess. A few other codes are also different script versions of standard languages.
 +
::::: <code>gsw-*</code>, on the other hand, are various dialects of Swiss German. I believe they all are treated in Lingua Libre and Wiktionaries as dialects of German (<code>deu</code>). Perhaps code <code>gsw</code> could also be created here, but it isn't.
 +
::::: <code>rm-*</code> are dialects of the Romansh language. LiLi treats them as one language <code>roh</code>.
 +
::::: In general, if we want to have rare languages on board, they should be defined here first. It's not enough to make a list if you can't select proper language while recording. Maybe you should import only lists for the languages defined in LiLi? [[User:Olaf|Olaf]] ([[User talk:Olaf|talk]]) 09:26, 5 March 2021 (UTC)
 +
 +
::::Special:RecordWizard's Step 3 : <code>Details</code> (which should be <code>List</code> IMHO) does 2 things:
 +
::::* List picking: seems to load the list via a simple research by name. The list's name (and iso prefix) does NOT influences the recordings.
 +
::::* ''« You record words in: {pick your language} »'' : this defined how the words's Qid will be tagged, imported to Commons, and categorized.
 +
::::You can load List:Mar/wiktionary, and pick the language Japanese. Then your recordings Qitems will be <code>iso639-3 = jpn</code>.
 +
::::'''So''', for today case (list creation), I just need to have my list starting with recognizable <code>iso639-3</code> so they show up properly.
 +
::::The question of languages is a Wikidata/LanguageImporter issue.
 +
::::I'am cognitively tired of this past coding days so I will simply not upload those composite-names languages for now. But it stays a practical question with implications and side effects (wikidata, wiktionary) to kink about. [[User:Yug|Yug]] ([[User talk:Yug|talk]]) 21:36, 5 March 2021 (UTC)
 +
 +
== [ca:wikt] Bot request for Catalan Witkionary ==
 +
{{Bot cycle
 +
|request=x
 +
|define=x
 +
|code=
 +
|submit=
 +
|merge=
 +
|ping=
 +
|notification=
 +
|help=
 +
|wait=
 +
|active=
 +
|wmlang=ca
 +
|requestee=Vriullop
 +
|botmaster=Poslovitch,Pamputt
 +
}}
 +
* '''Example pages (3):''' [[:ca:wikt:mariner]], [[:ca:wikt:activity]], [[:ca:wikt:fèr]] - You can see best audio integration there.
 +
* '''Target section:''' There is no specific section. The audio file should be added under the language heading <code><nowiki>== {{-xx-}} ==</nowiki></code> and before the first POS section. It should be added in a new line after pronuntiation templates, if any, either <code><nowiki>{{pron|xx|...}}</nowiki></code>, <code><nowiki>{{pronafi|xx|...}}</nowiki></code> or <code><nowiki>{{xx-pron}}</nowiki></code>. In these templates xx means language code ISO 639-1 or ISO 639-3.
 +
* '''Local audio template(s) example(s):''' <code><nowiki>{{àudio|en-us-activity.ogg|lang=en|accent=EUA}}</nowiki></code>
 +
* '''Local audio template(s) explained:'''
 +
** {àudio} means "audio", and take the following parameters...
 +
** <code>en-us-activity.ogg</code> is the filename
 +
** <code>lang=en</code> is the ISO 639-1 of the language.
 +
** <code>accent=EUA</code> means USA which is the accent or local variant. This parameter is optional and it may be codified for Catalan as explained at [[:ca:wikt:Template:àudio]].
 +
* Request by: [[User:Vriullop|Vriullop]] ([[User talk:Vriullop|talk]]) 14:41, 9 March 2021 (UTC)
 +
:{{ping|Vriullop}} I may now have more time to work on Lingua Libre Bot to add more Wiktionary support. Are you still interested in? [[User:Pamputt|Pamputt]] ([[User talk:Pamputt|talk]]) 22:44, 25 January 2023 (UTC)
 +
 +
== Welcome to Kanashimi & Cewbot ! ==
 +
Welcome to [[User:Cewbot|Cewbot]] and its bot master [[User:Kanashimi‎|Kanashimi‎]] ! Kanashimi is the creator of [https://github.com/kanasimi/wikiapi Wikiapi.js] ([https://kanasimi.github.io/wikiapi/ doc]), a JS framework to create nodejs bots which edit Wikimedia's Wiki via API queries. I use this framework as well, so we are creating a little testing group and creating tools to ease juniors developers on-boarding. [[User:Yug|Yug]] ([[User talk:Yug|talk]]) 08:18, 27 April 2021 (UTC)
 +
: Thank you. cewbot runs [https://meta.wikimedia.org/wiki/Special:CentralAuth/Cewbot on several wikis], [https://en.wikipedia.org/wiki/User:Cewbot including enwiki]. I think I may transfer some tasks already running on other wiki projects to  Lingua Libre:
 +
{| class="wikitable sortable"
 +
|-
 +
! Nickname || Definition || Helpfulness || Difficulty to code
 +
|-
 +
| Topic list || Add topic list to discussion pages including [[LinguaLibre:Chat room]], [[LinguaLibre:Administrators' noticeboard]], [[LinguaLibre:Technical board]]. Topic listed [https://commons.wikimedia.org/wiki/Commons:Bots/Work_requests here] is a sample. || ? || ?
 +
|-
 +
| Signature fixer. || On talk page, when signature is missing, add user's signature and date. || 2/4 || ?
 +
|-
 +
| Discussions archiver. || On defined pages marked by a category via template, when a section is inactive for n days, archive it. || 3/4 || ?
 +
|-
 +
| Anchors fixers. || Fixing broken anchors including those archived. || 2/4 || ?
 +
|-
 +
| Sandbox cleaner. || Periodically blanks [[LinguaLibre:Sandbox]]. || 1/4 || Easy
 +
|-
 +
|  Welcome bot. || When user makes an edit be has an user_talk page empty, post <nowiki>{{subst:welcome|~~~~}}</nowiki> || 2/4 || Easy
 +
|}
 +
: How about these? --[[User:Kanashimi|Kanashimi]] ([[User talk:Kanashimi|talk]]) 09:52, 27 April 2021 (UTC)
 +
::Hello [[User:Kanashimi|Kanashimi]], we were asking for a welcome bot just 1 days prior !
 +
::I added scores to your list in order of priority from my POV.
 +
::If your codes are accessible on github, I will reuse those for my Wikiapi eggs ! [[User:Yug|Yug]] ([[User talk:Yug|talk]]) 12:39, 28 April 2021 (UTC)
 +
::: The codes are [https://github.com/kanasimi/wikibot/tree/master/routine on github]. However some programs are not simple. --[[User:Kanashimi|Kanashimi]] ([[User talk:Kanashimi|talk]]) 12:47, 28 April 2021 (UTC)
 +
::: Hi. It seems there are some discussions on going. Are there somebody interesting in the functions above? If allowing testing, please give some comments, thank you. --[[User:Kanashimi|Kanashimi]] ([[User talk:Kanashimi|talk]]) 21:59, 4 September 2021 (UTC)
 +
 +
== Draft bot ==
 +
{{done}}
 +
 +
Is there anywhere a piece of code showing how to connect a bot to Lingua Libre and how to retrieve a page. Or maybe someone can share such code? I think it would be very helpful to point to such "draft bot" that could be used as a skeleton for several tasks. [[User:Pamputt|Pamputt]] ([[User talk:Pamputt|talk]]) 18:25, 7 July 2021 (UTC)
 +
:{{ping|Pamputt}} I also started to look for a way to have a bot working here but couldn't find simple instructions. {{u|Poslovitch}} gave me some advice though, to build a bot working on the same base than LLBot (i.e. not based on Pywikibot). I can send you the info if you are interested. Best — '''[[User:WikiLucas00|WikiLucas]]''' [[User talk:WikiLucas00|(🖋️)]] 08:24, 8 July 2021 (UTC)
 +
:EDIT {{ping|Pamputt}} Thank you very much for [[phabricator:T286303]]! I will try to implement a Welcome bot soon and a bot similar to what Olafbot does (i.e. updating local lists), but based on Wikt categories (lists are easier to find a suggest to newcomers than wiki categories). All the best — '''[[User:WikiLucas00|WikiLucas]]''' [[User talk:WikiLucas00|(🖋️)]] 09:36, 8 July 2021 (UTC)
 +
::It was fast for [[phab:T286303|T286303]] and it is really a good news. So it is right now possible to edit Lingua Libre using Pywikibot. [[User:Pamputt|Pamputt]] ([[User talk:Pamputt|talk]]) 13:11, 8 July 2021 (UTC)
 +
And so, using Pywikibot, a draft code would be:
 +
* get a Mediawiki page
 +
<syntaxhighlight lang="python">
 +
import pywikibot
 +
site = pywikibot.Site('lingualibre','ligualibre')
 +
page = pywikibot.Page(site, 'User:Example')
 +
print(page.get()) #print the wikicode
 +
</syntaxhighlight >
 +
 +
* get a Wikibase element
 +
<syntaxhighlight lang="python">
 +
import pywikibot
 +
site = pywikibot.Site('lingualibre:lingualibre')
 +
repo = site.data_repository()  # the Wikibase repository for given site
 +
item = pywikibot.ItemPage(repo, 'Q42')  # a repository item
 +
data = item.get()  # get all item data from repository for this item
 +
print(data) #print item content
 +
</syntaxhighlight >
 +
[[User:Pamputt|Pamputt]] ([[User talk:Pamputt|talk]]) 13:36, 8 July 2021 (UTC)
 +
:Using [[wikitech:PAWS|PAWS]], I get a <code>UnknownFamilyError: Family lingualibre does not exist</code>... EDIT: It is apparently due to PAWS updating pywikibot files with a delay, let's hope not too long! (and WMF team is apparently on holidays). Best — '''[[User:WikiLucas00|WikiLucas]]''' [[User talk:WikiLucas00|(🖋️)]] 14:04, 8 July 2021 (UTC)
 +
 +
== Log in to Lingua Libre for a bot ==
 +
{{done}}
 +
 +
While I started the support of Lingua Libre through Pywikibot, I think something is still missing because I do not manage to find how to log in to Lingua Libre so far. Pywikibot is usable to "read" Lingua Libre (get pages and items) but I cannot figure out yet how to write on Lingua Libre.
 +
Could someone please share a piece of code showing how their bot log in to Lingua Libre ({{ping|Yug|Olaf}}). [[User:Pamputt|Pamputt]] ([[User talk:Pamputt|talk]]) 19:36, 8 July 2021 (UTC)
 +
:{{Ping|Pamputt}}: share your terminal error message. If you code with pywikibot, a proven bot framework, it's likely your code, maybe the login which fails. Questions :
 +
:# which account is your bot ?
 +
:# Do you login using a) human-friendly username and password or b) did you go through [[Special:BotPasswords]] ?
 +
:# to which base url api do you connect ? For me using WikiapiJS : https://lingualibre.org/api.php. (Not https://'''www.'''lingualibre.org/api.php which partially redirects to https://lingualibre.org/api.php)
 +
:As for Pywikibot-speciffic code sample, I think [[:mw:Manual:Pywikibot/Use_on_third-party_wikis]] and nearby pages may help. [[User:Yug|Yug]] ([[User talk:Yug|talk]]) 09:00, 12 July 2021 (UTC)
 +
::{{ping|Yug}} actually Pywikibot is a proven bot framework but I am not aware of any other supported wiki that works like Lingua LIbre (log in through Wikimedia Commons using OAuth). So the problem is PWB does not manage to connect to LinguaLibre (I will send the log of "python pwb.py login -v -debug" later if it can help). Because I proposed a patch to PWB to support LinguaLibre, something may be missing (getting page works, modifying or creating page does not work). That is why I am interesting to know the line of code related to WikiapiJS  that you use. [[User:Pamputt|Pamputt]] ([[User talk:Pamputt|talk]]) 11:17, 12 July 2021 (UTC)
 +
:: To reply to your questions, my bot is [[User:PamputtBot|PamputtBot]] and currently I try to log in via password given in the terminal. [[User:Pamputt|Pamputt]] ([[User talk:Pamputt|talk]]) 11:18, 12 July 2021 (UTC)
 +
:::{{Ping|Pamputt}}, still unable to edit ?
 +
:::In my case Lingualibre's [[Special:BotPasswords]] gives me something like that :
 +
:::* user: 'Dragons Bot@Dragons_Bot'
 +
:::* pass: 'ueuh9er9qe7rteqr8t0qe9roeatmi2fb'
 +
:::I also met some issues login in... and I had to use my mouse to log in online into that "Dragons_bot" account, you know, and to confirm on Commons. I went over this quickly and without thinking, but maybe the Oath on commons should also be activated ?? [[User:Yug|Yug]] ([[User talk:Yug|talk]]) 17:38, 12 July 2021 (UTC)
 +
:::::{{ping|Yug}} yess, still unable to edit. Here is the output of "python pwb.py login -v" (I tried to log in with Pamputt using PWB)
 +
<syntaxhighlight>
 +
Python 3.8.9 (default, Apr  5 2021, 18:09:13)
 +
[GCC 10.2.1 20210130]
 +
Found 1 lingualibre:lingualibre processes running, including this one.
 +
WARNING: No user is logged in on site lingualibre:lingualibre
 +
Password for user Pamputt on lingualibre:lingualibre (no characters will be shown):
 +
Logging in to lingualibre:lingualibre as Pamputt
 +
WARNING: API warning (main): Unrecognized parameters: username, password.
 +
ERROR: Login failed (FAIL).
 +
Traceback (most recent call last):
 +
  File "/home/pamputt/bot/core/pywikibot/login.py", line 307, in login
 +
    self.login_to_site()
 +
  File "/home/pamputt/bot/core/pywikibot/data/api.py", line 2968, in login_to_site
 +
    raise pywikibot.exceptions.APIError(code=status, info=fail_reason)
 +
pywikibot.exceptions.APIError: FAIL: The supplied credentials could not be authenticated.
 +
 +
During handling of the above exception, another exception occurred:
 +
 +
Traceback (most recent call last):
 +
  File "pwb.py", line 399, in <module>
 +
    if not main():
 +
  File "pwb.py", line 391, in main
 +
    run_python_file(filename,
 +
  File "pwb.py", line 106, in run_python_file
 +
    exec(compile(source, filename, 'exec', dont_inherit=True),
 +
  File "./scripts/login.py", line 151, in <module>
 +
    main()
 +
  File "./scripts/login.py", line 139, in main
 +
    site.login(autocreate=autocreate)
 +
  File "/home/pamputt/bot/core/pywikibot/site/_apisite.py", line 390, in login
 +
    if login_manager.login(retry=True, autocreate=autocreate):
 +
  File "/home/pamputt/bot/core/pywikibot/login.py", line 316, in login
 +
    raise NoUsernameError(error_msg)
 +
pywikibot.exceptions.NoUsernameError: Username "Pamputt" does not have read permissions on lingualibre:lingualibre
 +
.The supplied credentials could not be authenticated.
 +
</syntaxhighlight>
 +
 +
:::::The interesting line is "WARNING: API warning (main): Unrecognized parameters: username, password.". Indeed, if we look at https://lingualibre.org/api.php?action=query&meta=authmanagerinfo&amirequestsfor=login, we can see
 +
:::::"canauthenticatenow": "",
 +
:::::which means (AFAIK) that it is not possible to log in directly through the API. This is why we can only log in though Wikimedia Commons using OAuth.
 +
:::::So I am still looking for a reliable way (and reproducible way) to log in to Lingua Libre. If I find it, I will document it but if someong can document it before, he/she will be very welcome. [[User:Pamputt|Pamputt]] ([[User talk:Pamputt|talk]]) 19:13, 12 July 2021 (UTC)
 +
Ok, I finally figured out how to log in to Lingua Libre using Pywikibot and Special:BotPasswords (this is the only way). I have created [[Help:Log in to Lingua Libre with Pywikibot]] to document it. [[User:Pamputt|Pamputt]] ([[User talk:Pamputt|talk]]) 18:08, 15 July 2021 (UTC)
 +
 +
== Tag misleading items ==
 +
{{done}}
 +
 +
Now I am able to edit with PamputtBot, I have started to tag recording item that have an issue. See for example [[Q53462#P33]]. At the end, I plan to tag all recordings listed in [[LinguaLibre:Misleading items]]. [[User:Pamputt|Pamputt]] ([[User talk:Pamputt|talk]]) 18:57, 15 July 2021 (UTC)
 +
:Ok, PamputtBot is ready to tag all recordings that have an issue and that are listed [[LinguaLibre:Misleading_items|here]]. I tested the bot on all recordings listed in [[LinguaLibre:Misleading items/Lepticed7 20181219]]. Could you validate that it makes sense to do so and please report if you see any weird stuff. If all is ok, I will run the bot on all the other recordings listed over there. [[User:Pamputt|Pamputt]] ([[User talk:Pamputt|talk]]) 23:59, 16 July 2021 (UTC)
 +
 +
== Welcome bot ==
 +
Hi {{ping|Pamputt|Yug|Poslovitch|Olaf}}
 +
 +
Have you heard of [[mw:Manual:Pywikibot/welcome.py|this welcoming script for Pywikibots]]? I think it would be valuable to have a bot welcoming [[Special:Log/newusers|new users]] with the {{templ|Welcome}} template and adding a signature from a list of volunteers (for the moment, most of the welcoming is done by Pamputt and I). I am thinking about this because we will probably have a lot of newcomers related to Wikimania (in a couple of weeks).
 +
 +
I wanted to make this bot myself using PAWS, but it is not working on LiLi for the moment... @Pamputt, now that you managed to have a functional bot operating on LiLi, maybe you are able to add this task to your bot?
 +
 +
All the best, — '''[[User:WikiLucas00|WikiLucas]]''' [[User talk:WikiLucas00|(🖋️)]] 22:57, 1 August 2021 (UTC)
 +
:Hi, yes, it could be interesing to use the welcome script from Pywikibot. Unforutnately, I do not manage to log in anymore (I do not know why so far). So once I will solve this issue, why not. I could run the bot on Toolforge (I already have an account). [[User:Pamputt|Pamputt]] ([[User talk:Pamputt|talk]]) 21:07, 2 August 2021 (UTC)
 +
:<small>My bot is working again [[User:Pamputt|Pamputt]] ([[User talk:Pamputt|talk]]) 11:38, 3 August 2021 (UTC)</small>
 +
::I've looked at the [https://gerrit.wikimedia.org/g/pywikibot/core/%2B/HEAD/scripts/welcome.py welcome script] from Pywikibot. Actually it is rather heavy and it needs a patch to be able to work here. Especially, the following variables have to be defined for Lingua Libre
 +
::* "logbook", the page where the bot will save the log (see [[:w:fr:Wikipédia:Prise de décision/Accueil automatique des nouveaux par un robot/log/2010/07/01|French Wikipedia for example]])
 +
::* "netext": the text for the welcome message (<nowiki>{{subst:welcome|%s}}</nowiki>)
 +
::* "report_pag": the page where the bot will report users with a possibly bad username
 +
::* "bad_pag": the page where the bot reads the real-time bad words page (optional)
 +
::* ...
 +
:: So before going ahead, I think we need a clear consensus to go further. To me, I think we can manage without using such bot ut I am not against using a bot. [[User:Pamputt|Pamputt]] ([[User talk:Pamputt|talk]]) 18:45, 3 August 2021 (UTC)
 +
 +
== Bot for lexemes broken? ==
 +
The contributions I made on June 12 was added as usual. On July 18 and 19 I used the exact same method (SPARQL query) and none of these has been added to lexemes on Wikidata yet. [[User:Ainali|Ainali]] ([[User talk:Ainali|talk]]) 13:17, 14 August 2021 (UTC)
 +
:Thank you {{u|Ainali}} for reported this issue. I have opened a [[phab:T288930|Phabricator ticket]] to track this issue. [[User:Pamputt|Pamputt]] ([[User talk:Pamputt|talk]]) 08:15, 16 August 2021 (UTC)
 +
 +
== [uk:wikt] Bot request for Ukrainian witkionary ==
 +
{{Bot cycle
 +
|request=x
 +
|define=
 +
|code=
 +
|submit=
 +
|merge=
 +
|ping=
 +
|notification=
 +
|help=
 +
|wait=
 +
|active=
 +
|wmlang=uk
 +
|requestee=Bicolino34
 +
|botmaster=Poslovitch,Pamputt
 +
}}
 +
* '''Example pages:''' [[:uk:wikt:Аахен]], [[:uk:wikt:послідовність]], [[:uk:wikt:послідовність]] - You can see audio integrations there.
 +
* '''Target section:''' the audio file should be added at the <code>=== Вимова ===</code> section, which means Pronunciation. It should be put after <code>{{transcription}}</code> or <code>{{transcriptions}}</code>, there is also variants with language code E.G. <code>{{transcription-uk}}</code> they automatically create IPA but it can be just put at the end of the section
 +
* '''Local audio template(s) example(s):''' <code>{{audio2|Uk-лихо.ogg|прослухати вимову}}</code>
 +
* '''Local audio template(s) explained:'''
 +
** <code>Uk-лихо.ogg</code> is the filename
 +
** <code>прослухати вимову</code> means Listen Pronunciation. Here you can also put dialect or location of speaker in ()
 +
* '''Summary text: ''' Додано приклад вимови.
 +
* Here you can left request for adding bot: [[:uk:wikt:Вікісловник:Боти]]
 +
* Request by: [[User:Bicolino34|Bicolino34]] ([[User talk:Bicolino34|talk]]) 14:55, 7 November 2021 (UTC)
 +
:Hi {{u|Bicolino34}} I can start to work for Ukrainian Wiktionary support for LLBot but there is first the Catalan Wiktionary to be managed. Meanhile, could you start a discussion on your wiki so that we are sure your community accept LLbot adds audio pronunciation in the future? [[User:Pamputt|Pamputt]] ([[User talk:Pamputt|talk]]) 15:21, 7 November 2021 (UTC)
 +
::{{ping|Bicolino34}} I may now have more time to work on Lingua Libre Bot to add more Wiktionary support. Are you still interested in? [[User:Pamputt|Pamputt]] ([[User talk:Pamputt|talk]]) 22:45, 25 January 2023 (UTC)
 +
::: {{ping|Pamputt}} Yes, I'm still interested. Sorry for taking so long to answer
 +
 +
== Creating a bot : list of steps  ==
 +
{{Bot cycle
 +
|request=x
 +
|define=x
 +
|code=x
 +
|submit=x
 +
|merge=x
 +
|ping=x
 +
|notification=
 +
|help=
 +
|wait=
 +
|active=
 +
|wmlang=or
 +
|requestee=Psubhashish
 +
|botmaster=Poslovitch,Pamputt
 +
}}
 +
:''Right side: the list of steps is reused into a convenient progress template.''
 +
:''In {{tl|Bot cycle}}: the page can documents in details those best practice steps.''
 +
Hello all, we are still testing how to walk forward with the deployment of LinguaLibre bots on various wikis. [https://github.com/lingua-libre/Lingua-Libre-Bot/pull/16#issuecomment-964970705 On Github], [[user:Pamputt|Pamputt]] seemed to refer to some best practices to land our bot on a target wiki kindly. It's wise, and seems smart to write this down. So let's create a {{tl|bot cycle}} template to view the steps for a bot from request to implementation. We can have both a "Best practices" page and a right-side template to display efficiently where we are at, and what we should do next for a given bot. I'am starting the thing, feel free to edit, rename, etc. [[User:Yug|Yug]] ([[User talk:Yug|talk]])
 +
:Draft template on the right.
 +
:Documentation on the page.
 +
:Improvement to continue. [[User:Yug|Yug]] ([[User talk:Yug|talk]]) 00:12, 12 November 2021 (UTC)
 +
::I love that template! Never though of it, but I find it useful to keep track of progress at a quick glance. It would benefit from being slightly more "beautiful" though. And it's missing some of the proper steps, but this can be improved upon as well. --[[User:Poslovitch|Poslovitch]] ([[User talk:Poslovitch|talk]]) 07:57, 12 November 2021 (UTC)
 +
:::Nice enthusiasm over here :) Template already got improved on documentation ([https://lingualibre.org/index.php?title=Template%3ABot_cycle%2Ftext&type=revision&diff=665408&oldid=665364 Poslovitch]) and translations (Pamputt).
 +
:::[[User:Poslovitch|Poslovitch]], I conceived the documentation has a long and literal guideline tutorial for all parties involved. That's why I wrote a template "message". I think it worth restoring and improving so the requester has a smooth flow (not stopped by "how I should write that message?").
 +
:::[[User:Pamputt|Pamputt]], please notice that I'm not comfortable yet with translations syntax and induced inter-pages call. As I'am not sure if I break those translations codes I will be slower at editing the content. Generally speaking, it could be interesting to wait that active page's content gets more stable (about a week, sometimes more) before to add the necessary translation code and encourage translations.
 +
:::Also, does someone knows how to pass parameters' values down this template pipe to [[Template:Bot cycle/text]] ? It's currently not passing through, so the "x" are not showing up here on LinguaLibre:Bot.
 +
:::It's moving faster than expected, it's a bit destabilizing but awesome to witness :). I plan to continue improve the /Documentation at first (trying to not break translation tags), I think better step descriptors and single-word ids can emerge. Then I will replicate the changes onto the template proper. Work in progress. [[User:Yug|Yug]] ([[User talk:Yug|talk]]) 17:17, 12 November 2021 (UTC)
 +
:::: Hi Yug, thanks for the template. I decided to organise the pages so that the template be translatable. Thus, we can now use this basis to develop further the model. But sorry, I "have broken" the parameter values. It is now fixed. [[User:Pamputt|Pamputt]] ([[User talk:Pamputt|talk]]) 18:01, 12 November 2021 (UTC)
 +
:::::Nice, the wiki way. Thank for that. Also, I though about a "help" step :
 +
:::::* ''<code>help</code>: Requester or else creates a local <nowiki>[[Help:LinguaLibre]]</nowiki> on target wiki. This page contains an extremely brief, general purpose definition of LinguaLibre, the bot, as well as a redirect toward Lingualibre.org's support page [[LinguaLibre:Bot]].''
 +
:::::A standard access point of sort so the search "LinguaLibre" on that wiki returns something, a page, which includes key pointers. Any view on that idea ? [[User:Yug|Yug]] ([[User talk:Yug|talk]]) 20:31, 12 November 2021 (UTC)
 +
::::::I think this is the role of [[m:User:Lingua Libre Bot|User:Lingua Libre Bot]]. This page is displayed on every wiki when the user page is not overwritten. So by default, I think we should improve this user page if needed; it already exists and it does not need to create any additional page on the local wiki. [[User:Pamputt|Pamputt]] ([[User talk:Pamputt|talk]]) 20:43, 12 November 2021 (UTC)
 +
:::::::I see. Wonderful. A template text in English would be welcome in [[Template:Bot steps/Documentation]]. [[User:Yug|Yug]] ([[User talk:Yug|talk]]) 11:30, 13 November 2021 (UTC)
 +
 +
== [es:wikt] Bot request for Spanish Wiktionary ==
 +
{{Bot steps}}
 +
* '''Example pages (≥3): ''' Including audio: [[:es:wikt:comer|comer]], [[:es:wikt:casa|casa]], [[:es:wikt:España|España]], [[:es:wikt:agua|agua]]. Missing audio:[[:es:wikt:fresa|wikt:fresa]], [[:es:wikt:Francia|Francia]], [[:es:wikt:correr|correr]], [[:es:wikt:rápido|rápido]].
 +
* '''Target section:''' <nowiki>{{pron-graf}}</nowiki> (OR <nowiki>{{pron-graf|leng=es}}</nowiki>)  The target section is called either <nowiki>{{pron-graf}</nowiki>} or <nowiki>{{pron-graf|leng=es}}</nowiki>.<br>
 +
Details about the structure of the Spanish Wiktionary (only in Spanish): [[:es:wikt:Plantilla:pron-graf|Template:pron-graf]]
 +
* '''Local audio template(s) example(s):'''
 +
<pre>{{pron-graf|leng=es
 +
|pron=estándar
 +
|fone=paˈɾa.me.tɾos
 +
|audio=Example.ogg
 +
|fone2=paˈɾa.me.tɾoː
 +
|fono3=paˈra.me.tros}}</pre>
 +
*Actual examples from entries:
 +
** <nowiki>{{pron-graf|fone=esˈpa.ɲa|audio=Es-es españa 001.ogg}}</nowiki>
 +
** <nowiki>{{pron-graf|fone=koˈmeɾ|audio=LL-Q1321 (spa)-Rodelar-comer.wav}}</nowiki>
 +
** <nowiki>{{audio|Es-am-lat-casa.ogg|'''Audio''' (América)}}</nowiki>
 +
** <nowiki>{{audio|Es-bo-casa.oga|'''Audio''' (La Paz, Bolivia)}}</nowiki>
 +
** <nowiki>{{pron-graf|fone=ˈa.ɣwa|audio=Es-am-lat-agua.ogg|pron=América Latina|2audio=LL-Q1321 (spa)-Rodelar-agua.wav|2pron=España|2fone=ˈa.ɣwa}}</nowiki>
 +
* '''Local audio template(s) explained:
 +
** {pron-graf} refers to the "Pronunciation Box" where the IPA transcriptions and the audios are displayed together.
 +
** |leng=es is the iso639-2 of the audio.
 +
** |fone= Means IPA transcription
 +
* '''Edit summary text: ''' Añadido por LinguaLibre.org
 +
* Request by: "Marreromarco"
 +
 +
An administrator of Spanish Wiktionary agreed to cooperate with LinguaLIbre and to grant permission to its bot:
 +
[[:es:wikt:Wikcionario:Café#Colaboración con "LinguaLibre" para añadir pronunciaciones a las entradas de Wikcionario]]
 +
 +
However, the Spanish Wiktionary does not have a separate section for Pronunciations as FrWiktionary. The audio files are displayed in a "pronunciation box" that is very small. Therefore, the Spanish Wiktionary admin said that the number of audios per entry should be limited.
 +
 +
I would propose a maximum of 3 audio files per entry in the Spanish Wiktionary. It is not feasible with their current format to have 12 audio files per each word.
 +
 +
Thanks for your help in advance ! Merci :D
 +
 +
Contact email: wiki.nx6f7@simplelogin.co --[[user:Marreromarco|Marreromarco]]
 +
:Hola {{u|Marreromarco}} thank you for all the informations. I would say this is feasible to limit the number of audios to 3. Just to be clear, should we limit the number of audio to 3 or the number of uses of the template pron-graf, which means, it one is already present without pronunciation, it would limit the number of audios to two? I plan to work on Catalan Wiktionary first but it should be possible to have a working prototype for eswiktionary before the end of the year. [[User:Pamputt|Pamputt]] ([[User talk:Pamputt|talk]]) 08:23, 14 November 2021 (UTC)
 +
 +
{{u|Pamputt}} Thanks for you kind answer. In my opinion, the bot could add 3 audio files regardless of how many audio files already has the template pron-graf. As an example, if the spanish word "fresa" (''fraise en français'') already has 2 audios, the LinguaLibre Bot could still add 3 audios. In total would be 5 audios and that would be acceptable.
 +
 +
What should not happen is to allow the bot to add 10-12 audios because of the space constraints of the template pron-graf. ''merci beaucoup'' :D --[[user:Marreromarco|Marreromarco]]
 +
::{{ping|Marreromarco}} I may now have more time to work on Lingua Libre Bot to add more Wiktionary support. Are you still interested in? [[User:Pamputt|Pamputt]] ([[User talk:Pamputt|talk]]) 22:45, 25 January 2023 (UTC)
 +
 +
==[bcl:wikt] Bot request for Central Bikol Wiktionary ==
 +
{{Bot steps
 +
|request=x
 +
|define=
 +
|code=
 +
|submit=
 +
|merge=
 +
|ping=
 +
|notification=
 +
|help=
 +
|wait=
 +
|active=
 +
|wmlang=uk
 +
|requestee=Bicolino34
 +
|botmaster=Poslovitch,Pamputt
 +
}}
 +
* Use cases : [https://bcl.wiktionary.org/wiki/bangsod#Pagsayod bangsod], [https://bcl.wiktionary.org/wiki/basalyo basalyo], [https://bcl.wiktionary.org/wiki/baro-batikal#Bikol_Sentral baro-batikal]
 +
* Section titles: <nowiki>==Pagsayod==</nowiki>
 +
* '''Local audio template(s) example(s):''' (e.g. {{deng|en|en-us-apple.ogg|Deng (DYA)}}) -- None observed in examples above.
 +
* '''Local audio template(s) explained:'''
 +
** {Audio} means "audio", and take the following parameters...
 +
** <s><code>bcl</code> is the iso639-3 of the audio.</s>
 +
** <s><code>bcl-bcl-mansanas.ogg</code> is the filename</s>
 +
** <s><code>Deng (DYA)</code> means audio (deng) and USA (DYA) which is the local variant or accent.</s>
 +
* Comment message: '''Nagkaag nin pagsayod (LinguaLibre.org)'''.
 +
* Request by: [[User:Kunokuno|Kunokuno]] ([[User talk:Kunokuno|talk]]) 15:32, 28 January 2022 (UTC)
 +
 +
{{Ping|Kunokuno}}, bcl wiktionary doesn't have template to display audios ? Your form above is not complete, the former text is to replace with yours. The audio template is not properly documented. [[User:Yug|Yug]] ([[User talk:Yug|talk]]) 17:19, 28 January 2022 (UTC)
 +
::Oops, sorry with that. I' ll work on it and update this request. [[User:Kunokuno|Kunokuno]] ([[User talk:Kunokuno|talk]]) 18:39, 28 January 2022 (UTC)
 +
:::Hi [[User:Yug|Yug]], this is our [https://bcl.wiktionary.org/wiki/Plantilya:audio template for audio]. It was only now that I've remembered creating this one. Is this correct? I have only copied it from the english wiktionary. [[User:Kunokuno|Kunokuno]] ([[User talk:Kunokuno|talk]]) 05:51, 29 January 2022 (UTC)
 +
:{{ping|Kunokuno}} I may now have more time to work on Lingua Libre Bot to add more Wiktionary support. Are you still interested in? [[User:Pamputt|Pamputt]] ([[User talk:Pamputt|talk]]) 22:46, 25 January 2023 (UTC)
 +
::It was just now that I was able to read your message. If you still had the time, our community would benefit from this. Thank you [[User:Pamputt|Pamputt]]. [[User:Kunokuno|Kunokuno]] ([[User talk:Kunokuno|talk]]) 14:17, 26 November 2023 (UTC)
 +
 +
== [dicoado] Bot request for French DicoAdo ==
 +
{{Bot steps
 +
|request=x}}
 +
* '''Example pages (≥3):''' [https://fr.dicoado.org/wiki/index.php?title=perturber&action=edit perturber] [https://fr.dicoado.org/wiki/index.php?title=superbe&action=edit superbe], [https://fr.dicoado.org/dico/statalisme statalisme] see this [https://fr.dicoado.org/wiki/index.php?title=nudge&type=revision&diff=73621&oldid=72948 diff of "nudge"]
 +
* '''Target section:''' right after <nowiki>{{Container-start}}</nowiki>
 +
* '''Local audio template(s) example(s):''' <br />
 +
<pre>{{Media</nowiki>
 +
|MediaType=Prononciation
 +
|prononciation=LL-Q150 (fra)-DSwissK-{{subst:PAGENAME}}.wav
 +
}}</pre>
 +
* '''Local audio template(s) explained:''' no parameter, just the filename (without "File:") after <nowiki>"|prononciation="</nowiki>
 +
* '''Local particularities:'''
 +
** only one file per page (except pages like [https://fr.dicoado.org/dico/chat chat] which have completely different prononciations)
 +
** There is a [https://fr.dicoado.org/dico/Cat%C3%A9gorie:Mot_sans_prononciation category] that lists all the words that still haven't any prononciation added. I record them regularly to be able to hear all the words added to this dictionary.
 +
* '''Edit summary text: ''' prononciation ajoutée par LinguaBot
 +
* Request by: [[User:DSwissK|DSwissK]] ([[User talk:DSwissK|talk]]) 16:21, 28 March 2022 (UTC)
 +
:{{ping|DSwissK}} I may now have more time to work on Lingua Libre Bot to add more Wiktionary support. The DicoAdo website is a different website but I can check how to run Lingua Libre on it. Are you still interested in? [[User:Pamputt|Pamputt]] ([[User talk:Pamputt|talk]]) 22:47, 25 January 2023 (UTC)
 +
::{{ping|Pamputt}} I see your message now :3 yes I am still interested in the bot, if you still have time for that. [[User:DSwissK|DSwissK]] ([[User talk:DSwissK|talk]]) 14:07, 9 September 2023 (UTC)
 +
 +
==Does the bot automagically upload pronunciations to Lexeme?==
 +
It is unclear from the descriptions of the bot whether it can automagically pick up recordings I have made of lexemes and add pronunciation statements to those lexemes.
 +
 +
I fed LinguaLibre [https://w.wiki/5nDV this kind of query], and recorded files like [https://commons.wikimedia.org/wiki/File:LL-Q9288_(heb)-Ijon-%D7%99%D7%99%D7%A9%D7%95%D7%91.wav this one], but I don't see that LinguaLibre recorded the Lexeme ID anywhere, and I wonder if the bot would eventually pick this up and link it to the Lexeme based on the form alone (which seems a bit risky).
 +
 +
Assuming it does not, what way do you use to batch-attach such recordings to lexemes? [[User:Ijon|Ijon]] ([[User talk:Ijon|talk]]) 21:48, 5 October 2022 (UTC)
 +
:Answering my own question: the bot does link it, as it saves the Lexeme ID [[Q808711|in the LL item]].  However, to get the pronunciation to be linked to '''a particular form''' of the lexeme, make sure the 'id' in your query is of a form and not just of the whole lexeme.  Here is [https://w.wiki/5nMz an adapted version of my query from above]. [[User:Ijon|Ijon]] ([[User talk:Ijon|talk]]) 12:32, 6 October 2022 (UTC)
 +
 +
== [lmo:wikt] Bot request for Lombard Wiktionary ==
 +
{{Bot cycle
 +
|request=x
 +
|define=x
 +
|code=
 +
|submit=
 +
|merge=
 +
|ping=
 +
|notification=
 +
|help=
 +
|wait=
 +
|active=
 +
|wmlang=or
 +
|requestee=Gat lombart
 +
|botmaster=
 +
}}* '''Example pages (4):''' <br>for lombard words, you can see best audio integration there: [https://lmo.wiktionary.org/wiki/can can], [https://lmo.wiktionary.org/wiki/scomincià scomincià], [https://lmo.wiktionary.org/wiki/ai ai]<br>for non-lombard words, you can see best audio integration there: [https://lmo.wiktionary.org/wiki/casa casa]
 +
* '''Target section:''' The template <code><nowiki>{{audio-quader|}}</nowiki></code> should be written on the line below the last <code>{{IPA</code> in the code (which means International_Phonetic_Alphabet).
 +
The local template(s) (<nowiki>{{audio}}</nowiki>) must be added sequantially as if they were the first and only parameter of the template "audio-quader" </code><br>If there isn't any <code>{{IPA</code> the template <code><nowiki>{{audio-quader}}</nowiki></code> should be added at the bottom of the section <nowiki>== {{-lmo-}} ==</nowiki>, and then the bot should add the local audio template(s) (<nowiki>{{audio}}</nowiki>) as if they were the first and only parameter of the template <code><nowiki>{{audio-quader}}</nowiki></code>
 +
* '''Local audio template(s) example(s):'''
 +
<nowiki>{{audio-quader|
 +
{{audio|lmo|lmo-mi-can.ogg|MI}}
 +
{{audio|lmo|lmo-mi-can.ogg|MI}}
 +
}}</nowiki>
 +
* '''Local audio template(s) explained:'''
 +
** {audio-quader} means audio box and its parameter contains the audio template(s) "audio".
 +
** {audio} means "audio", and take the following parameters...
 +
** <code>lmo</code> is the iso639-2 or iso639-1 of the audio.
 +
** <code>Lmo-mi-can.ogg</code> is the filename
 +
** <code>MI</code>  MI (Milan) which is the local variant or accent.
 +
The abbreviations to be used for the local variants are (written in lombard)
 +
MI = dialet milanes
 +
Br = dialet brianzoeul
 +
CO = dialet comasch
 +
Vls = dialet valassines
 +
Lagh = dialet lagher
 +
VA = dialet varesot
 +
VB = dialet verbanes
 +
CO = dialet comasch
 +
LC = dialet leches
 +
Trz = dialet trezzes
 +
LO = dialet lodesan
 +
PV = dialet paves
 +
Lu = dialet lumellin
 +
Vgv = dialet vigevanes
 +
NO = dialet novares
 +
Bst = dialet bustoch
 +
Lgn = dialet legnanes
 +
TI = dialet ticines
 +
Ciav = dialet ciavenasch
 +
VB = dialet verbanes
 +
CO = dialet comasch
 +
Breg = dialet bregajot
 +
Vtel = dialet valtelines
 +
°Vtel = dialet dialet de l'alta valtolina
 +
Pos'c = dialet pos'ciavin
 +
BG = dialet bergamasch
 +
BS = dialet bressan
 +
Cr =  dialet cremasch
 +
CR = dialet cremones
 +
CrCR = dialet dialet de passagg infra el cremasch e 'l cremones
 +
Cam = dialet de la val Camonega
 +
Toc = dialet trentin ocidental
 +
Olp = dialet oltrepadan
 +
Mes = dialet mesolcines
 +
Cal = dialet calanchin<br><br>
 +
(idest like  [[:wiktionary:lmo:Modell:babellmo|here]])
 +
* '''Summary text: ''' registrazzion audio sgiontada.
 +
* Request by: [https://lmo.wiktionary.org/wiki/Utent:Gat_lombard Gat lombard]
 +
--[[User:Gat lombart|Gat lombart]] 08:21, 18 November 2022‎
 +
:Hello Gat lombart, thank you for this request. We don't have Python developer at the moment to lead edit this bot, so request are staled. But as long as your request is properly filled, we have the information ready to add that language some days. If you have a network with intermediary python developers, they are welcome to come over. Poslovitch or Lepeticed can mentor a new comer to point him in the right direction. [[User:Yug|Yug]] ([[User talk:Yug|talk]]) 12:37, 11 December 2022 (UTC)
 +
::{{ping|Gat lombart}} I may now have more time to work on Lingua Libre Bot to add more Wiktionary support. Are you still interested in? [[User:Pamputt|Pamputt]] ([[User talk:Pamputt|talk]]) 22:48, 25 January 2023 (UTC)
 +
:::{{ping|Pamputt}} Hello, the Lombard community approved librebot language at the end of 2021 (https://lmo.wiktionary.org/wiki/Wikizzionari:Domande_de_bot/Domanda_del_3_-_11_-_2021_-_19:51), so you can proceed if you want. [[User:Gat lombart|Gat lombart]] [[User talk:Gat lombart|talk]]
 +
::::{{ping|Gat lombart}} I would have a few more questions to code the bot
 +
::::# from examples given in the first message, it is not clear to me where to place the <code><nowiki>{{audio-quader|}}</nowiki></code> template. On some examples, they are at the end of a "parnonzia" section (see [[wikt:lmo:can|can]] for example) ; there is no problem for this case. The problem is for other cases. For example in [[wikt:lmo:ai|ai]], why the "audio-quader" template is placed here and not elsewhere? Would it be possible to '''always''' add the audio pronunciation inside a "parnonzia" section, which means create a "parnonzia" section if there is none? Is so, where should I place this "parnonzia" section ? What are the sections that should always come before or after?
 +
::::# there is currently no word recorded in Lombart on Lingua Libre. Could you record some so that I can perform some tests with the bot?
 +
::::# about the local variant or accent, how could I know it programatically? Is there any statement/property on Lingua Libre that I could use? It could be guess from {{p|14}} of the locutor by maintaining a list of city and the corresponding dialect/accent. If the city is not associated to any dialect/variant, then the last paramter remains empty.
 +
::::[[User:Pamputt|Pamputt]] ([[User talk:Pamputt|talk]]) 17:43, 12 February 2023 (UTC)
 +
 +
:::::{{ping|Pamputt}} 1. Since many Lombard words have more than one variant regarding the Lombard language entries, each word has a page that contains all the variants and other pages that serve only to refer to this one. Even words in the plural have only short pages that serve to refer to the pages of the words in the singular. This is the reason why not all pages have the "parnonzia" section. This section is only present on pages that contain all variants.  "ai" is in fact a page that refers to other pages. However, if it is really necessary you can add the section also in these pages, immediately above the "audio-quader" template. The main problem is rather that "ai" is both an "articulated preposition" (preposizzion articulada), and a pronoun (pronom), and a noun (nom). So you could choose to have the bot add the pronunciation for all three cases, or if you can it is better specify the part of specch before registering and then add the pronunciation for only a specific part of speech. A simple criterion for the bot is that of write below the line that contains "::(dialet:". This would almost always work unless the code has been tampered with by someone.
 +
 +
:::::2. I thought there was no Lombard in the language list then I found it as "lingua lombarda". I therefore ask you to replace "lombard" in place of "lingua lombarda" otherwise it is not easy to find.
 +
 +
:::::3. Unfortunately, the place of residence is not always a valid indicator in determining the language variant as one could have learned Lombard in the family or be born in a place other than that of residence. The correct work is to allow you to select your own dialect variant regardless of your place of residence.
 +
 +
:::::gat lombard
 +
 +
== Bot request for Malayalam Wiktionary ==
 +
{{Bot cycle
 +
|request=x
 +
|define=
 +
|code=
 +
|submit=
 +
|merge=
 +
|ping=
 +
|notification=
 +
|help=
 +
|wait=
 +
|active=
 +
|wmlang=or
 +
|requestee=Gat lombart
 +
|botmaster=
 +
}}
 +
* '''Example pages (≥3):''' [[:ml:Wikt:അമ്മ]], [[:ml:Wikt:പശു]], [[:ml:Wikt:പിരിച്ചെഴുതുക]], [[:ml:Wikt:മണ്ണ്]], [[:ml:Wikt:ഇന്ത്യ]], [[:ml:Wikt:ഗ്രന്ഥശാല]]
 +
* '''Target section:''' the audio file should be added under the <code><nowiki>==ഉച്ചാരണം==</nowiki></code> section — meaning "pronunciation". The audio file should only be added if no other audio file exist on the page.
 +
* '''Local audio template(s) example(s):''' [[:ml:Wikt:Template:audio]]
 +
* '''Local audio template(s) explained:''' Use as <code><nowiki>* ശബ്ദം: {{audio|LL-Q36236 (mal)-USER-EXAMPLEAUDIO.wav}}</nowiki></code>. Just input the full file name on first parameter of <code><nowiki>{{audio|}}</nowiki></code> template
 +
** {audio} means "audio", and take the following parameters...
 +
** <code>LL-Q36236 (mal)-USER-EXAMPLEAUDIO.wav</code> is the filename
 +
* '''Edit summary text: ''' <code>LL-Q36236 (mal)-USER-EXAMPLEAUDIO.wav</code>, LinguaLibre-യിൽ നിന്ന് ഉച്ചാരണം ചേർക്കുന്നു.
 +
* Request by: [[User:Akbarali|Akbarali]], [[User:Vis M|Vis M]]
 +
 +
{{ping|Akbarali|Vis M}} thank you for completing the form. I have one more question. Where does the pronunciation section go? It seems to be at the beginning of the section but on [[:ml:wikt:അമ്മ|wikt:അമ്മ]], there is another section before. So should Lingua Libre Bot always place the pronunciation section as the first section (if the pronunciation does not exist yet)? [[User:Pamputt|Pamputt]] ([[User talk:Pamputt|talk]]) 20:24, 28 July 2023 (UTC)
 +
::{{ping|Pamputt}} That's the '''etymology''' section. It is written under different names: നിരുക്തം, പദോല്പത്തി, പദോത്പത്തി, etc. Pronunciation section can come above this section, it's not an issue. There are only a handful pages with Etymology section in Malayalam, so it is possible to manually move later. Thank you.[[User:Vis M|Vis M]] ([[User talk:Vis M|talk]]) 16:02, 10 August 2023 (UTC)
 +
:: {{ping|Akbarali|Vis M|Pamputt}} Looks like this project has not moved forward since 2023, is there anything I can do to make the bot add pronunciations in Malayalam? [[User:Netha Hussain|Netha Hussain]] ([[User talk:Netha Hussain|talk]])

Latest revision as of 13:39, 18 September 2024

Welcome to the Lingua Libre Bot service!
Icon of Lingua Libre Bot

Lingua Libre Bot (aka LiLiBot or LLBot) is passionate about audio recordings, languages and Wikimedia projects. Every day, it adds Lingua Libre's latest audio recordings to the relevant pages on various Wikimedia projects.

Due to the big amount of recordings added every day, it is necessary for LiLiBot to obtain the Bot status on each wiki it works on, in order to contribute to it safely. As of today, the bot is allowed and able to contribute to four Wikimedia projects.

YOU can help LiLiBot pursue its mission! Follow the guidelines on this page to request LiLiBot on your wiki!

Request form

This page serves as a request page for Lingua Libre Bot on specific wikis.
Copy and adapt this template to your needs, then paste it in a new section at the bottom of this page:

== Bot request for the {language} Wiktionary ==
{{Bot steps}}
* '''Example pages (≥3):''' a few links to your Wiktionary's pages that are examples of the usual page structure.
* '''Target section:''' title of the section in which the recordings should be listed (on the French Wiktionary, this is {{S|prononciation}})
* '''Local audio template(s) example(s):''' an example of how the audio recording template is used : e.g. {{deng|en|en-us-apple.ogg|Deng (DYA)}}
* '''Local audio template(s) explained:''' explain the various parameters of that template (especially if the documentation of your template is not available in English nor in French)
** {Deng} means "audio", and take the following parameters...
** <code>en</code> is the iso639-2 of the audio.
** <code>en-us-apple.ogg</code> is the filename
** <code>Deng (DYA)</code> means audio (deng) and USA (DYA) which is the local variant or accent.
* '''Edit summary text: ''' the summary text you would like to be displayed on your wiki when Lingua Libre Bot adds an audio file.
* Request by: ~~~~
Technical documentations?
  • Lingua Libre Bot (GitHub, Python) is a high-impact project. Help is needed to authorize it on more wikis.
  • WikiAPI (GitHub, NodeJS) is and emerging and under active development base for programmatic edits of wikis.

You can also read and publish useful information about bots in general on the current collaborative page.

[or:wikt] Bot request for Odia Wiktionary

  • [x] Request opened.
  • [x] Requirements defined.
  • [x] Script coded.
  • [x] Code submited (Pull Request).
  • [x] Code accepted.
  • [x] Requestee notified.
  • [x] Community notified.
  • [x] Local help page created.
  • [x] 7 days delay.
  • [x] Bot activated.

or: add parameter requestee-Poslovitch, Pamputt

  • Example pages (3): or:wikt:ଓଡ଼ିଆ, or:wikt:ଓଡ଼ିଆ - You can see best audio integration there.
  • Target section: the audio file should be added at the end of the ==ଉଚ୍ଚାରଣ== section, which means pronunciation
  • Local audio template(s) example(s): Template:ଅଡ଼ିଓ
  • Local audio template(s) explained:
    • {ଅଡ଼ିଓ} means "audio", and take the following parameters...
    • or is the iso639-2 of the audio.
    • or-ଓଡ଼ିଆ.wav is the filename
    • ଧ୍ୱନି (ମାନକ ଓଡ଼ିଆ) means audio (ଧ୍ୱନି) in "ମାନକ ଓଡ଼ିଆ" (standard spoken Odia language) which is the standard spoken variant or accent.
  • Request by: Subhashish (talk) 19:04, 24 June 2021 (UTC)
Hi @Poslovitch is there anything that I need to share with you here? --Subhashish (talk) 01:33, 29 June 2021 (UTC)
Hi @Psubhashish the request looks fine. I'm attending a hackathon this week; I probably won't get to go through all of the requests, but we will probably find a way to speed up the process. I'll keep you posted once the bot is ready to contribute on orwikt ;) --Poslovitch (talk) 13:15, 29 June 2021 (UTC)
Hi @Poslovitch , all the best for the hackathon! :) This can wait after all. Quick question -- there are more than 6K words in the ory category on Commons which have the File:or-WORD.wav/ogg/flac format (some are ori-nor-NAME.wav and are categorized properly). 3.7K of these 6K+ files were recorded using LL but are now disconnected from the LL Wikibase (meaning LL Wikibase will have their former filenames) while renaming on Commons. Can we use your bot to insert them into the respective pages on orwikt? --Subhashish (talk) 15:07, 29 June 2021 (UTC)
If they got renamed, the bot won't be able to find them, sadly. I'm noting we need a way to detect if a file got renamed on Commons so that the Wikibase here gets updated, which in turn would allow the bot to find the recordings. --Poslovitch (talk) 16:07, 29 June 2021 (UTC)
@Poslovitch , indeed, linking changed files would be very helpful. Please let me know once your bot starts to insert the recorded files to the Odia Wiktionary. --Subhashish (talk) 04:14, 5 July 2021 (UTC)
@Psubhashish I have one more question concerning the template "audio". In the description you gave above, it can be used only for Odia words. If you want LinguaLibre Bot to add audio pronunciations also for words in other languages (French, English, Hindi, etc) that may be present on the Odia Wiktionary, you should give us a string corresponding to ଧ୍ୱନି (ମାନକ ଓଡ଼ିଆ) but for all the other languages (or maybe, there is a way to get these names automatically from Wikidata or any other way). Pamputt (talk) 20:54, 11 July 2021 (UTC)
@Pamputt I'd guess Wikidata would be the place for other language words. We don't have any active contribution at the moment in other languages but what you asked might arise in the future. There are however, pronunciations in the Baleswari Odia dialect which are rightly tagged here on LL. --Subhashish (talk) 13:18, 12 July 2021 (UTC)
@Poslovitch circling back quickly to check if the Lili bot can be enabled for Odia and the Wiktionary entries can be updated with the recorded audio? Thanks! --Subhashish (talk) 09:23, 21 July 2021 (UTC)
@Psubhashish If you don't change the filenames, we will be able to take over Odia Wiktionary with Lingua Libre Bot in the coming weeks. 🙂 — WikiLucas (🖋️) 09:59, 21 July 2021 (UTC)
@WikiLucas00 @Poslovitch I haven't actually changed many [edit: any recently, I am referring to a few thousand recordings that I have not changed]. Not sure if you have checked my most recent edits. I paused changing until we fully discuss that matter. Please go ahead and help run the bot. --Subhashish (talk) 04:41, 22 July 2021 (UTC)
@WikiLucas00 @Poslovitch sorry to say this but it feels like going in circles explaining something. I've stopped renaming files for a reason -- I didn't want to break the linked data from LL which I did not realize. Can we please *not* go again and again over the same renaming issue that is non-existent now and have the bot running for Odia? I do not know how to explain something more explicitly. I had made a request for a bot a month ago and have not renamed files after that. Being a Wikipedian myself, I understand that there are many volunteers who are working hard and I don't expect any requested action to come swiftly. But going over the same thing when it does not exist is a sheer waste of collective time. Should I give up on the bot request and continue only recording? --Subhashish (talk) 09:00, 24 July 2021 (UTC)
@Psubhashish I think the delay comes mainly from the fact people are currently on holidays in France and usually there are less contributions, including coding contributions, during summer time. That's said, I will code the Odia Wiktionary support in Lingua Libre Bot. For now, I have proposed a support for the Shawiya Wiktionary because their structure in very close from the French Wiktionary. Once it will be on production, we will add support for Odia Wiktionary. I prefer to add support one by one not to get all bug reports at the same time. Pamputt (talk) 09:59, 24 July 2021 (UTC)
@WikiLucas00 Thanks for sharing these. I was almost giving up on the bot linking. No rush though now that there is some plan. --Subhashish (talk) 09:37, 25 July 2021 (UTC)

Technical details

Psubhashish, I have more technical questions regarding the Oriya Wiktionary support.

  1. Could you tell me all the languages Lingua Libre Bot should support. I already understood that one section is title ==ଓଡ଼ିଆ== but you talked about the Baleswari Odia dialect; is the title section also ==ଓଡ଼ିଆ== ?
    (SP) I'm not sure if I get your question correctly. Baleswari Odia is a dialect of Odia (ଓଡ଼ିଆ) so all words still go to the same Odia Wiktionary.
    Ok, clear all the recordings you would like LLBot manage are under ==ଓଡ଼ିଆ==.
    (SP) Yes.
  2. Could you translate "Adding a pronunciation audio file from Lingua Libre"? This is the summary that will be displayed when Lingua Libre Bot will add a pronunciation.
    (SP) Sure, "ଲିଙ୍ଗୁଆ ଲିବ୍ରେରୁ ଏକ ଉଚ୍ଚାରଣ ଅଡ଼ିଓ ଯୋଡ଼ିଲି" (translates to "[I] have added a LL pronunciation audio from Lingua Libre" as it sounds more appropriate for the summary. The literal translation for the English text you've shared would be "ଲିଙ୍ଗୁଆ ଲିବ୍ରେରୁ ଏକ ଉଚ୍ଚାରଣ ଅଡ଼ିଓ ଯୋଡ଼ୁଛି". I am hoping transliterating Lingua Libre is okay. Otherwise you could replace "ଲିଙ୍ଗୁଆ ଲିବ୍ରେ" with "Lingua Libre".)
    Thanks, for the transliteration of the name Lingua Libre, up to you; this is what will be displayed on your wiki. If this understandable by contributors over there, no problem.
    (SP) The contributors are one admin who is not active at the moment but is also responsible for keeping the project alive and myself. But we certainly approve. :D
  3. Could you list all the sections that may follow the pronunciation section (ଉଚ୍ଚାରଣ)?
    (SP) Odia Wiktionary does not yet have the structure for most of the words. Creating/adding inside the "ଉଚ୍ଚାରଣ" section would be just fine for now.
    Ok, I will take into account this point.
    @Psubhashish Actually, this question is useful to know where to create the pronunciation section if there is none. Should LLbot add the pronunciation section at the end of the language section, just before the categories or is there a most suitable location? Pamputt (talk) 20:53, 26 July 2021 (UTC)
    (SP) A new "ଉଚ୍ଚାରଣ" section at the end of the language section would make more.
    @Pamputt I just checked an example. The section (if it doesn't exist already) ==ଓଡ଼ିଆ== should have a subsection called ===ଉଚ୍ଚାରଣ=== and the audio should go under the "ଉଚ୍ଚାରଣ" section.
  4. It seems that the ଅଡ଼ିଓ template does not take parameter for specifying the location of the speaker; could you confirm that?
    (SP) I believe so. Is there an example where it displays the location? We could update the template and translate the parameter fields.
    Actually the audio template from enwiktionary does not have such parameter. If you want one example, the écouter template on the French Wiktionary has such parameter. It has to been discussed on your wiki to know whether you want to implement this paramter on your template and so whether you want to display such information.

Pamputt (talk) 20:05, 24 July 2021 (UTC)

  1. This seems to be quite useful but I am not sure if the location data is captured well. For instance, I have used "Odisha" (which is a province and not city) in all my recordings. This can be ignored for the time being I guess. --Subhashish (talk) 05:00, 27 July 2021 (UTC)

Working prototype

@Psubhashish I have a working prototype for Lingua lIbre Bot to support Odia language. It was a bit tricky to write the code because your Wiktionary is not well formated. It is not a big deal but it makes stuff more difficult to write and I am not sure that all cases are taken into account. In addition, because I do not read the Odia script, it makes me not really confortable to debug. So while waiting for Poslovitch to come back, I can run the bot with my own account (PamputtBot) to check that everything works properly. So if you agree I do so, I can run the bot on 10/20 words and then you could check that it works well and report any problem. In addition, could you add a label on Wikidata for all language listed here because for now the bot get the label to identify the language (not the sitelink). So for example, for ଓଡ଼ିଆ, it will look for a language whose the Odia label is "ଓଡ଼ିଆ". The same for water, it will look for "ଇଂରାଜୀ ଭାଷା" (not "ଇଂରାଜୀ"). Pamputt (talk) 18:46, 5 August 2021 (UTC)

@Pamputt : this is great news. I have linked all the categories inside the main cat language. Let's see the magic happen. :-) Yes, 10-20 test runs would be good. It is possible to revert even if something goes wrong terribly. --Subhashish (talk) 01:25, 7 August 2021 (UTC)
@Psubhashish thanks for linking the main categories. In addition, would it be possible to add the label to the language item. Example : Q13955 for Arabic language (there is currenlty no label in Odia), the same for Q9056 (Czech language), etc. This is needed because the bot uses the label of the language item (not the language category item) to determine the language of the section on the Odia Wiktionary. Thanks in advance. Pamputt (talk) 08:25, 7 August 2021 (UTC)
@Pamputt Done. :)
@Psubhashish I have run Ligua Libre Bot on the Odia Wiktionary with my own account. There was a problem with template name but this is now fixed in the LLbot code and in by hand for the Odia Wiktionary entries. Please check and report any mistake. Pamputt (talk) 07:15, 8 August 2021 (UTC)
@Pamputt Hello! I just checked and it looks perfect. Thanks much. I think we're good to roll with your bot. :) --Subhashish (talk) 12:02, 9 August 2021 (UTC)
Ok, perfect. I've opened a pull request to add the Odia Wiktionary code to Lingua Libre. I think it will be merged before the end of the month. In the future, it will be important to check whether it works correctly for languages other than the Odia language. Pamputt (talk) 12:34, 9 August 2021 (UTC)
Great, thanks much again. Will wait until you have more updates on this. --Subhashish (talk) 19:20, 10 August 2021 (UTC)
Hi @Pamputt @Poslovitch I didn't realize that you all needed another confirmation and now I realize that relying on notifications is not always helpful. :) Can I request for the bot deployment as there is no red flag that I foresee at the moment? Thanks! --Subhashish (talk) 08:30, 8 January 2022 (UTC)
Subhashish: The local ORI community gave its green light ? Which step have been cleared ? Yug (talk) 09:31, 8 January 2022 (UTC)
@Psubhashish Hi, the bot is ready to be deployed on orwiktionary. First, I think Poslovitch need to perform some test on kuwiktionary and if everything goes well, we can move to orwiktionary. Pamputt (talk) 06:46, 10 January 2022 (UTC)
@Yug by the community if you mean the admin who is currently unavailable and a new contributor who joined very recently and is learning the guidelines, then I have just pinged in the village pump. @Pamputt , sounds great. Please let me know if there is anything I can help with. Thanks! --Subhashish (talk) 14:17, 26 January 2022 (UTC)
@Psubhashish thank you :)
I was unable to identify the section due to language, can you add "LinguaLibre" or a better link to that section ? Please after 2 weeks, if concensus is to allow the bot, report back to us. If you are the only participant due to low activity on that wiki, we will consider it as a valid concensus for move forward. Yug (talk) 23:06, 26 January 2022 (UTC)
@Yug Done. I also have pinged User:Snip1 who is an admin but he seems to be away from the project at the moment. Last I checked, he did not have any issue. --Subhashish (talk) 06:22, 29 January 2022 (UTC)
@Yug just wanted to let you know that the current admin User:Snip1 okayed in the or-wiktvillage pump with a word of caution to start with a smaller batch, check for accuracy and then proceed. Do let me know when you run the first batch. I can check and confirm if everything looks fine or not. Running the bot for all words would be good after that. --Subhashish (talk) 02:28, 10 February 2022 (UTC)

Stalled

Because, all files have been renamed on Wikimedia Commons without propagating the new filename in the Lingua Libre Wikibase, Lingua Libre Bot cannot guess what is the audio filename. So currently, Lingua Libre Bot cannot work on orwiktionary. More detail on orwiktionary. Pamputt (talk) 12:04, 8 February 2023 (UTC)

I think I have now found a way to workaround this problem. This is done with this commit. I have run LLbot on orwiktionary for a few entries. If everything is good, I will run the Lingua Libre Bot for all other recordings. Pamputt (talk) 19:02, 19 March 2023 (UTC)

It runs

Finally, the bot got the bot flag for orwiktionary and I just started it to add all missing audio recordings. It should also add automatically the new recording on orwiktionary. Pamputt (talk) 21:18, 22 March 2023 (UTC)

@Psubhashish you got an happy Newroz's gift ! :) Yug (talk) 21:48, 22 March 2023 (UTC)
We have come a long way my friend. Thank you for all you support, Pamputt! --Subhashish (talk) 18:46, 25 March 2023 (UTC)

[ku:wikt] Bot request for Kurdish Wiktionary

  • [x] Request opened.
  • [x] Requirements defined.
  • [x] Script coded.
  • [x] Code submited (Pull Request).
  • [x] Code accepted.
  • [x] Requestee notified.
  • [x] Community notified.
  • [x] Local help page created.
  • [x] 7 days delay.
  • [x] Bot activated.

ku: add parameter requestee-Poslovitch,Pamputt

Check-green.svg Done

  • Example pages (3): ku:wikt:beran, ku:wikt:başûr, ku:wikt:keskesor- You can see best audio integration there.
  • Target section: The audio file should be added at the end of the === Bilêvkirin === section, which means "Pronunciation". If there is no === Bilêvkirin === section on the page, please create one after the language section, that is == {{ziman|<lang code>}} ==. If there is no language section, the audio file should not be added.
  • Local audio template(s) example(s): {{deng|ku|LL-Q36368 (kur)-Mihemed Qers-keskesor.wav|Deng|dever=Qers}}
  • Local audio template(s) explained:
    • {Deng} is the template name which means "audio", and takes the following parameters...
    • ku is the lang code from ISO 639-1 of the audio, ISO 639-3 and ISO 639-2 are also in use.
    • LL-Q36368 (kur)-Mihemed Qers-keskesor.wav is the filename
    • Deng means audio, should always be present.
    • |dever= means place of origin, could be local variant or accent, country or city name. In the example "Qers" is the Kurdish name for the city en:Kars.
  • Request by: Balyozxane (talk) 04:05, 22 February 2021 (UTC)
Here are two examples [1], [2]. If there are multiple part of speech sections we still collect them all at the top of the page like this [3]. |dever= parameter should fetch the Kurdish names for places from Wikidata if possible. Lingua libre uses "kur" code for Kurdish, but we use "ku" and sometimes "kmr" on ku.wikt. Even when the language code is "kmr" in language section, the lang code in {{deng|<lang code>}} should be "ku". I think that's all I can remember. Any questions? --Balyozxane (talk) 00:26, 21 February 2021 (UTC)
You can also take a look at this page [4] for guidance.--Balyozxane (talk) 00:47, 21 February 2021 (UTC)
@Balyozxane , your last link is a diff, is it normal ? Also, can you reformat a bit your request so it follow the template above. You can also allow me to edit your text and I will happily do it. cc: user:Poslovitch. Yug (talk) 18:52, 21 February 2021 (UTC)
@Yug The last link was for example only to show there are other varients but the first two are the desired outcome from the LiLiBot. Feel free to correct my use of the template as free as you can. Balyozxane (talk) 04:05, 22 February 2021 (UTC)
@Balyozxane Thanks! I'll get to work ASAP. I'll notify you once I'm ready to test the bot ;) --Poslovitch (talk) 13:19, 23 February 2021 (UTC)
Thank you!Balyozxane (talk) 08:00, 24 February 2021 (UTC)

Lingua Libre Bot is finally running on ku.wiktionary.org. Pamputt (talk) 22:41, 25 January 2023 (UTC)

Connexion via Oauth and Bots for Unilex lists editing

Check-green.svg Done

@Olaf & Poslovitch Hello folks. I'am having some connection issues with WikiAPI (JS) code to connect to LinguaLibre. Is there some special thing to do to connect my bot to edit Lili ? As human using chrome, being connected to Commons alone doesn't connect you to LinguaLibre. We have to come here, click login, which sends a Oauth query (I guess), check my login status on Commons, then makes something so I'am loggued into both Commons and Lingualibre. I suspect some additional Oauth query is needed inside my bot. Yug (talk) 21:22, 1 March 2021 (UTC)

Normally the login procedure here is very complicated: mw:OAuth/For_Developers, and I've never managed to implement it, however if you use a bot account, you can create a password in Special:BotPasswords, and then log in directly on Lingua Libre wiki without Commons. Alternatively you can use one of the JS frameworks to log in. Finally, if you are logged in manually in the browser, the authorization proof should be in cookies, so the JS scripts in the browser should work fine. Olaf (talk) 21:19, 1 March 2021 (UTC)
Special:BotPasswords/Dragons_Bot. Progress underway. Thank you.
I see :
Allowed IP ranges:
0.0.0.0/0
::/0
Any explanation for this ? Dragons Bot (talk) 21:30, 1 March 2021 (UTC)
Starting to work. Situation unlocked. Thank Olaf. Yug (talk) 22:08, 1 March 2021 (UTC)

Lists: approach and limits

Dragons Bot script is ready to run. A test back is visible on Special:Contributions/Dragons_Bot.

I propose the following ranges of words for lists creations :

var ranges = [
	[ '00001', '00200' ],  // 1) 'List:Ibo/Most_used_words,_UNILEX_1:_words_00001_to_00200'
	[ '00201', '01000' ],  // 2) 'List:Ibo/Most_used_words,_UNILEX_2:_words_00201_to_01000'
	[ '01001', '02000' ],  // …
	[ '02001', '04000' ],  // 4) <←——— 1st threshold
	[ '05001', '10000' ],  // …
	[ '10001', '15000' ],  // 
	[ '15001', '20000' ],  // 
	[ '20001', '25000' ],  // 
	[ '25001', '30000' ],  // 9) <←——— 2nd threshold
	[ '30001', '35000' ],  // 
	[ '35001', '40000' ],  // 
	[ '40001', '45000' ],  // 
	[ '45001', '50000' ]   // 
];

I willfully create a smooth ramp approach to onboard new comers. I tested, 200 is a nice balance while we start. It is gently ambitious and about 10 mins works. It typically the kind of list-size I was looking for demoing in IRL events, with new users. Then can do just 20 if they wish. But the length alone, 200, encourage to flow it forward and to try out the Lingualibre productive flow which appears after 20~30 words but requires 50 words to "see the power" of LinguaLibre.

As for the depth, I first though of a deal :

// `corpus-limit`: 
//  - default: x = 6000; 
//  - active: x = 30000
//  - rule: if recordings > 2000 according to https://lingualibre.org/wiki/LinguaLibre:Stats, then `active`.

With that rule, our 17 most active languages get 30,000 words via 9 files. All others get 5,000 words via 4 files.

But after some though I'am wondering if this 5,000 first limit is too small. It allows good on-boarding, but then nothing. Waiting still a bit. Yug (talk) 22:22, 4 March 2021 (UTC)


Hi everyone ! Unilex import has started, you may see it happen on recent bot edits or on Special:Contributions/Dragons_Bot. At the end :

  • breath: 1001 languages will be covered
  • type: with their frequency lists, from Unilex.
  • amount: ~100 major languages (has iso639-2 in 2 character) will have by default a maximum of 30,000 words. Minor languages will have at maximum 6000 words.

Note: I noticed some errors after launching. Those will be fixed in my code and on Lingualibre.

These uploads are done using User:Kanasimi's Wikiapijs framework. :) Yug (talk) 10:15, 17 May 2021 (UTC)

Imported list names ?

Check-green.svg Done

@Pamputt , I derivated from the IETF's column on the right a new `iso639-3` column on the left. These `iso639-3` will provide the Iso in List:{Iso}/{Title}{range}. But I often didn't know what was the `iso639-3` versions so I kept the IETF tag (ceux avec les -). Could you review languages.js and share with me possible corrective indications ? Or is it ok if I use those ? (I don't think so, the record wizard will have difficulties finding them) Yug (talk) 22:28, 4 March 2021 (UTC)
About two letters code, you can find the "equivalent" ISO 639-3 code using this Wikipedia page. For example, "ae-Latn" corresponds to "ave" on LinguaLibre. Pamputt (talk) 06:46, 5 March 2021 (UTC)
Yes, I need to be sure I'am converting correctly from composite IETF into current conventions (iso639-3 right?). Thanks for the lead on `ave`, I will check those. I gathered below the list of items I'am confused by.
	{ 'iso639-3':'ave', file:'ae-Latn' },
	{ 'iso639-3':'', file:'be-tarask' },
	{ 'iso639-3':'', file:'blt-Latn' },
	{ 'iso639-3':'', file:'ca-valencia' },
	{ 'iso639-3':'', file:'ctd-Latn' },
	{ 'iso639-3':'', file:'el-Latn-u-sd-it75' },
	{ 'iso639-3':'', file:'gsw-u-sd-chag' },
	{ 'iso639-3':'', file:'gsw-u-sd-chbe' },
	{ 'iso639-3':'', file:'gsw-u-sd-chfr' },
	{ 'iso639-3':'', file:'kab-Arab' },
	{ 'iso639-3':'', file:'kab-Tfng' },
	{ 'iso639-3':'', file:'rm-puter' },
	{ 'iso639-3':'', file:'rm-rumgr' },
	{ 'iso639-3':'', file:'rm-surmiran' },
	{ 'iso639-3':'', file:'rm-sursilv' },
	{ 'iso639-3':'', file:'rm-sutsilv' },
	{ 'iso639-3':'', file:'rm-vallader' },
	{ 'iso639-3':'', file:'sr-Latn' },
	{ 'iso639-3':'', file:'vec-u-sd-itpd' },
	{ 'iso639-3':'', file:'vec-u-sd-itts' },
	{ 'iso639-3':'', file:'vec-u-sd-itvr' },
Do we have a naming convention for cases like gsw, rm and vec which has several sub elements each ? Should I do List:{gsw}/u-sd-chag/{title} ? I will return here later to complete all those I can. Yug (talk)
What I know is Lingua Libre uses ISO 639-3 to identify the language in the lists. So we should use pure ISO 639-3 to name the lists. Let us talk about rm for example, the ISO 639-3 code is "roh". The text after the hyphen is used to discriminate the dialects. On LinguaLibre, we can create list for a given dialect, but it should be named such as "List:Roh/Puter-namelist" or maybe "List:Roh/Puter/Namelist". I have not checked what is the behaviour of the list taht would be named following the last proposal.
The same remark applied for IETF code such as "kab-Arab". It that case, "Arab" is about the script. So we could name the list such as "List:Kab/Arab/namelist" for example. Pamputt (talk) 08:59, 5 March 2021 (UTC)
It's a more general question - how should the resulting recording files look like? For example be-tarask is a standard Belarussian but written with Latin script instead of Cirillic. Still most Wiktionaries considers it a separate language (example: wikt:fr:Catégorie:biélorusse_(tarashkevitsa)). If the LiLi bot is supposed to attach the recordings properly, the language should have a separate ISO code in LiLi. You can't just put it as a version of bel. But LiLi has only one Belarussian language code defined.
sr-latin is a Latinized version of Serbian, but the French Wiktionary puts it in the same bag with Cyrillic: wikt:fr:Catégorie:serbe, in the Polish Wiktionary we allow only the Cyrillic script in Serbian, in English Wiktionary everything is together with Croatian as the Serbo-Croatian language. Total mess. A few other codes are also different script versions of standard languages.
gsw-*, on the other hand, are various dialects of Swiss German. I believe they all are treated in Lingua Libre and Wiktionaries as dialects of German (deu). Perhaps code gsw could also be created here, but it isn't.
rm-* are dialects of the Romansh language. LiLi treats them as one language roh.
In general, if we want to have rare languages on board, they should be defined here first. It's not enough to make a list if you can't select proper language while recording. Maybe you should import only lists for the languages defined in LiLi? Olaf (talk) 09:26, 5 March 2021 (UTC)
Special:RecordWizard's Step 3 : Details (which should be List IMHO) does 2 things:
  • List picking: seems to load the list via a simple research by name. The list's name (and iso prefix) does NOT influences the recordings.
  • « You record words in: {pick your language} » : this defined how the words's Qid will be tagged, imported to Commons, and categorized.
You can load List:Mar/wiktionary, and pick the language Japanese. Then your recordings Qitems will be iso639-3 = jpn.
So, for today case (list creation), I just need to have my list starting with recognizable iso639-3 so they show up properly.
The question of languages is a Wikidata/LanguageImporter issue.
I'am cognitively tired of this past coding days so I will simply not upload those composite-names languages for now. But it stays a practical question with implications and side effects (wikidata, wiktionary) to kink about. Yug (talk) 21:36, 5 March 2021 (UTC)

[ca:wikt] Bot request for Catalan Witkionary

  • [x] Request opened.
  • [x] Requirements defined.
  • [] Script coded.
  • [] Code submited (Pull Request).
  • [] Code accepted.
  • [] Requestee notified.
  • [] Community notified.
  • [] Local help page created.
  • [] 7 days delay.
  • [] Bot activated.

ca: add parameter requestee-Poslovitch,Pamputt

  • Example pages (3): ca:wikt:mariner, ca:wikt:activity, ca:wikt:fèr - You can see best audio integration there.
  • Target section: There is no specific section. The audio file should be added under the language heading == {{-xx-}} == and before the first POS section. It should be added in a new line after pronuntiation templates, if any, either {{pron|xx|...}}, {{pronafi|xx|...}} or {{xx-pron}}. In these templates xx means language code ISO 639-1 or ISO 639-3.
  • Local audio template(s) example(s): {{àudio|en-us-activity.ogg|lang=en|accent=EUA}}
  • Local audio template(s) explained:
    • {àudio} means "audio", and take the following parameters...
    • en-us-activity.ogg is the filename
    • lang=en is the ISO 639-1 of the language.
    • accent=EUA means USA which is the accent or local variant. This parameter is optional and it may be codified for Catalan as explained at ca:wikt:Template:àudio.
  • Request by: Vriullop (talk) 14:41, 9 March 2021 (UTC)
@Vriullop I may now have more time to work on Lingua Libre Bot to add more Wiktionary support. Are you still interested in? Pamputt (talk) 22:44, 25 January 2023 (UTC)

Welcome to Kanashimi & Cewbot !

Welcome to Cewbot and its bot master Kanashimi‎ ! Kanashimi is the creator of Wikiapi.js (doc), a JS framework to create nodejs bots which edit Wikimedia's Wiki via API queries. I use this framework as well, so we are creating a little testing group and creating tools to ease juniors developers on-boarding. Yug (talk) 08:18, 27 April 2021 (UTC)

Thank you. cewbot runs on several wikis, including enwiki. I think I may transfer some tasks already running on other wiki projects to Lingua Libre:
Nickname Definition Helpfulness Difficulty to code
Topic list Add topic list to discussion pages including LinguaLibre:Chat room, LinguaLibre:Administrators' noticeboard, LinguaLibre:Technical board. Topic listed here is a sample. ? ?
Signature fixer. On talk page, when signature is missing, add user's signature and date. 2/4 ?
Discussions archiver. On defined pages marked by a category via template, when a section is inactive for n days, archive it. 3/4 ?
Anchors fixers. Fixing broken anchors including those archived. 2/4 ?
Sandbox cleaner. Periodically blanks LinguaLibre:Sandbox. 1/4 Easy
Welcome bot. When user makes an edit be has an user_talk page empty, post {{subst:welcome|~~~~}} 2/4 Easy
How about these? --Kanashimi (talk) 09:52, 27 April 2021 (UTC)
Hello Kanashimi, we were asking for a welcome bot just 1 days prior !
I added scores to your list in order of priority from my POV.
If your codes are accessible on github, I will reuse those for my Wikiapi eggs ! Yug (talk) 12:39, 28 April 2021 (UTC)
The codes are on github. However some programs are not simple. --Kanashimi (talk) 12:47, 28 April 2021 (UTC)
Hi. It seems there are some discussions on going. Are there somebody interesting in the functions above? If allowing testing, please give some comments, thank you. --Kanashimi (talk) 21:59, 4 September 2021 (UTC)

Draft bot

Check-green.svg Done

Is there anywhere a piece of code showing how to connect a bot to Lingua Libre and how to retrieve a page. Or maybe someone can share such code? I think it would be very helpful to point to such "draft bot" that could be used as a skeleton for several tasks. Pamputt (talk) 18:25, 7 July 2021 (UTC)

@Pamputt I also started to look for a way to have a bot working here but couldn't find simple instructions. Poslovitch gave me some advice though, to build a bot working on the same base than LLBot (i.e. not based on Pywikibot). I can send you the info if you are interested. Best — WikiLucas (🖋️) 08:24, 8 July 2021 (UTC)
EDIT @Pamputt Thank you very much for phabricator:T286303! I will try to implement a Welcome bot soon and a bot similar to what Olafbot does (i.e. updating local lists), but based on Wikt categories (lists are easier to find a suggest to newcomers than wiki categories). All the best — WikiLucas (🖋️) 09:36, 8 July 2021 (UTC)
It was fast for T286303 and it is really a good news. So it is right now possible to edit Lingua Libre using Pywikibot. Pamputt (talk) 13:11, 8 July 2021 (UTC)

And so, using Pywikibot, a draft code would be:

  • get a Mediawiki page
import pywikibot
site = pywikibot.Site('lingualibre','ligualibre')
page = pywikibot.Page(site, 'User:Example')
print(page.get()) #print the wikicode
  • get a Wikibase element
import pywikibot
site = pywikibot.Site('lingualibre:lingualibre')
repo = site.data_repository()  # the Wikibase repository for given site
item = pywikibot.ItemPage(repo, 'Q42')  # a repository item
data = item.get()  # get all item data from repository for this item
print(data) #print item content

Pamputt (talk) 13:36, 8 July 2021 (UTC)

Using PAWS, I get a UnknownFamilyError: Family lingualibre does not exist... EDIT: It is apparently due to PAWS updating pywikibot files with a delay, let's hope not too long! (and WMF team is apparently on holidays). Best — WikiLucas (🖋️) 14:04, 8 July 2021 (UTC)

Log in to Lingua Libre for a bot

Check-green.svg Done

While I started the support of Lingua Libre through Pywikibot, I think something is still missing because I do not manage to find how to log in to Lingua Libre so far. Pywikibot is usable to "read" Lingua Libre (get pages and items) but I cannot figure out yet how to write on Lingua Libre. Could someone please share a piece of code showing how their bot log in to Lingua Libre (@Yug & Olaf ). Pamputt (talk) 19:36, 8 July 2021 (UTC)

@Pamputt : share your terminal error message. If you code with pywikibot, a proven bot framework, it's likely your code, maybe the login which fails. Questions :
  1. which account is your bot ?
  2. Do you login using a) human-friendly username and password or b) did you go through Special:BotPasswords ?
  3. to which base url api do you connect ? For me using WikiapiJS : https://lingualibre.org/api.php. (Not https://www.lingualibre.org/api.php which partially redirects to https://lingualibre.org/api.php)
As for Pywikibot-speciffic code sample, I think mw:Manual:Pywikibot/Use_on_third-party_wikis and nearby pages may help. Yug (talk) 09:00, 12 July 2021 (UTC)
@Yug actually Pywikibot is a proven bot framework but I am not aware of any other supported wiki that works like Lingua LIbre (log in through Wikimedia Commons using OAuth). So the problem is PWB does not manage to connect to LinguaLibre (I will send the log of "python pwb.py login -v -debug" later if it can help). Because I proposed a patch to PWB to support LinguaLibre, something may be missing (getting page works, modifying or creating page does not work). That is why I am interesting to know the line of code related to WikiapiJS that you use. Pamputt (talk) 11:17, 12 July 2021 (UTC)
To reply to your questions, my bot is PamputtBot and currently I try to log in via password given in the terminal. Pamputt (talk) 11:18, 12 July 2021 (UTC)
@Pamputt , still unable to edit ?
In my case Lingualibre's Special:BotPasswords gives me something like that :
  • user: 'Dragons Bot@Dragons_Bot'
  • pass: 'ueuh9er9qe7rteqr8t0qe9roeatmi2fb'
I also met some issues login in... and I had to use my mouse to log in online into that "Dragons_bot" account, you know, and to confirm on Commons. I went over this quickly and without thinking, but maybe the Oath on commons should also be activated ?? Yug (talk) 17:38, 12 July 2021 (UTC)
@Yug yess, still unable to edit. Here is the output of "python pwb.py login -v" (I tried to log in with Pamputt using PWB)
Python 3.8.9 (default, Apr  5 2021, 18:09:13) 
[GCC 10.2.1 20210130]
Found 1 lingualibre:lingualibre processes running, including this one.
WARNING: No user is logged in on site lingualibre:lingualibre
Password for user Pamputt on lingualibre:lingualibre (no characters will be shown): 
Logging in to lingualibre:lingualibre as Pamputt
WARNING: API warning (main): Unrecognized parameters: username, password.
ERROR: Login failed (FAIL).
Traceback (most recent call last):
  File "/home/pamputt/bot/core/pywikibot/login.py", line 307, in login
    self.login_to_site()
  File "/home/pamputt/bot/core/pywikibot/data/api.py", line 2968, in login_to_site
    raise pywikibot.exceptions.APIError(code=status, info=fail_reason)
pywikibot.exceptions.APIError: FAIL: The supplied credentials could not be authenticated.

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "pwb.py", line 399, in <module>
    if not main():
  File "pwb.py", line 391, in main
    run_python_file(filename,
  File "pwb.py", line 106, in run_python_file
    exec(compile(source, filename, 'exec', dont_inherit=True),
  File "./scripts/login.py", line 151, in <module>
    main()
  File "./scripts/login.py", line 139, in main
    site.login(autocreate=autocreate)
  File "/home/pamputt/bot/core/pywikibot/site/_apisite.py", line 390, in login
    if login_manager.login(retry=True, autocreate=autocreate):
  File "/home/pamputt/bot/core/pywikibot/login.py", line 316, in login
    raise NoUsernameError(error_msg)
pywikibot.exceptions.NoUsernameError: Username "Pamputt" does not have read permissions on lingualibre:lingualibre
.The supplied credentials could not be authenticated.
The interesting line is "WARNING: API warning (main): Unrecognized parameters: username, password.". Indeed, if we look at https://lingualibre.org/api.php?action=query&meta=authmanagerinfo&amirequestsfor=login, we can see
"canauthenticatenow": "",
which means (AFAIK) that it is not possible to log in directly through the API. This is why we can only log in though Wikimedia Commons using OAuth.
So I am still looking for a reliable way (and reproducible way) to log in to Lingua Libre. If I find it, I will document it but if someong can document it before, he/she will be very welcome. Pamputt (talk) 19:13, 12 July 2021 (UTC)

Ok, I finally figured out how to log in to Lingua Libre using Pywikibot and Special:BotPasswords (this is the only way). I have created Help:Log in to Lingua Libre with Pywikibot to document it. Pamputt (talk) 18:08, 15 July 2021 (UTC)

Tag misleading items

Check-green.svg Done

Now I am able to edit with PamputtBot, I have started to tag recording item that have an issue. See for example Q53462#P33. At the end, I plan to tag all recordings listed in LinguaLibre:Misleading items. Pamputt (talk) 18:57, 15 July 2021 (UTC)

Ok, PamputtBot is ready to tag all recordings that have an issue and that are listed here. I tested the bot on all recordings listed in LinguaLibre:Misleading items/Lepticed7 20181219. Could you validate that it makes sense to do so and please report if you see any weird stuff. If all is ok, I will run the bot on all the other recordings listed over there. Pamputt (talk) 23:59, 16 July 2021 (UTC)

Welcome bot

Hi @Pamputt, Yug, Poslovitch, & Olaf

Have you heard of this welcoming script for Pywikibots? I think it would be valuable to have a bot welcoming new users with the {{Welcome}} template and adding a signature from a list of volunteers (for the moment, most of the welcoming is done by Pamputt and I). I am thinking about this because we will probably have a lot of newcomers related to Wikimania (in a couple of weeks).

I wanted to make this bot myself using PAWS, but it is not working on LiLi for the moment... @Pamputt, now that you managed to have a functional bot operating on LiLi, maybe you are able to add this task to your bot?

All the best, — WikiLucas (🖋️) 22:57, 1 August 2021 (UTC)

Hi, yes, it could be interesing to use the welcome script from Pywikibot. Unforutnately, I do not manage to log in anymore (I do not know why so far). So once I will solve this issue, why not. I could run the bot on Toolforge (I already have an account). Pamputt (talk) 21:07, 2 August 2021 (UTC)
My bot is working again Pamputt (talk) 11:38, 3 August 2021 (UTC)
I've looked at the welcome script from Pywikibot. Actually it is rather heavy and it needs a patch to be able to work here. Especially, the following variables have to be defined for Lingua Libre
  • "logbook", the page where the bot will save the log (see French Wikipedia for example)
  • "netext": the text for the welcome message ({{subst:welcome|%s}})
  • "report_pag": the page where the bot will report users with a possibly bad username
  • "bad_pag": the page where the bot reads the real-time bad words page (optional)
  • ...
So before going ahead, I think we need a clear consensus to go further. To me, I think we can manage without using such bot ut I am not against using a bot. Pamputt (talk) 18:45, 3 August 2021 (UTC)

Bot for lexemes broken?

The contributions I made on June 12 was added as usual. On July 18 and 19 I used the exact same method (SPARQL query) and none of these has been added to lexemes on Wikidata yet. Ainali (talk) 13:17, 14 August 2021 (UTC)

Thank you Ainali for reported this issue. I have opened a Phabricator ticket to track this issue. Pamputt (talk) 08:15, 16 August 2021 (UTC)

[uk:wikt] Bot request for Ukrainian witkionary

  • [x] Request opened.
  • [] Requirements defined.
  • [] Script coded.
  • [] Code submited (Pull Request).
  • [] Code accepted.
  • [] Requestee notified.
  • [] Community notified.
  • [] Local help page created.
  • [] 7 days delay.
  • [] Bot activated.

uk: add parameter requestee-Poslovitch,Pamputt

Hi Bicolino34 I can start to work for Ukrainian Wiktionary support for LLBot but there is first the Catalan Wiktionary to be managed. Meanhile, could you start a discussion on your wiki so that we are sure your community accept LLbot adds audio pronunciation in the future? Pamputt (talk) 15:21, 7 November 2021 (UTC)
@Bicolino34 I may now have more time to work on Lingua Libre Bot to add more Wiktionary support. Are you still interested in? Pamputt (talk) 22:45, 25 January 2023 (UTC)
@Pamputt Yes, I'm still interested. Sorry for taking so long to answer

Creating a bot : list of steps

  • [x] Request opened.
  • [x] Requirements defined.
  • [x] Script coded.
  • [x] Code submited (Pull Request).
  • [x] Code accepted.
  • [x] Requestee notified.
  • [] Community notified.
  • [] Local help page created.
  • [] 7 days delay.
  • [] Bot activated.

or: add parameter requestee-Poslovitch,Pamputt

Right side: the list of steps is reused into a convenient progress template.
In {{Bot cycle}}: the page can documents in details those best practice steps.

Hello all, we are still testing how to walk forward with the deployment of LinguaLibre bots on various wikis. On Github, Pamputt seemed to refer to some best practices to land our bot on a target wiki kindly. It's wise, and seems smart to write this down. So let's create a {{Bot cycle}} template to view the steps for a bot from request to implementation. We can have both a "Best practices" page and a right-side template to display efficiently where we are at, and what we should do next for a given bot. I'am starting the thing, feel free to edit, rename, etc. Yug (talk)

Draft template on the right.
Documentation on the page.
Improvement to continue. Yug (talk) 00:12, 12 November 2021 (UTC)
I love that template! Never though of it, but I find it useful to keep track of progress at a quick glance. It would benefit from being slightly more "beautiful" though. And it's missing some of the proper steps, but this can be improved upon as well. --Poslovitch (talk) 07:57, 12 November 2021 (UTC)
Nice enthusiasm over here :) Template already got improved on documentation (Poslovitch) and translations (Pamputt).
Poslovitch, I conceived the documentation has a long and literal guideline tutorial for all parties involved. That's why I wrote a template "message". I think it worth restoring and improving so the requester has a smooth flow (not stopped by "how I should write that message?").
Pamputt, please notice that I'm not comfortable yet with translations syntax and induced inter-pages call. As I'am not sure if I break those translations codes I will be slower at editing the content. Generally speaking, it could be interesting to wait that active page's content gets more stable (about a week, sometimes more) before to add the necessary translation code and encourage translations.
Also, does someone knows how to pass parameters' values down this template pipe to Template:Bot cycle/text ? It's currently not passing through, so the "x" are not showing up here on LinguaLibre:Bot.
It's moving faster than expected, it's a bit destabilizing but awesome to witness :). I plan to continue improve the /Documentation at first (trying to not break translation tags), I think better step descriptors and single-word ids can emerge. Then I will replicate the changes onto the template proper. Work in progress. Yug (talk) 17:17, 12 November 2021 (UTC)
Hi Yug, thanks for the template. I decided to organise the pages so that the template be translatable. Thus, we can now use this basis to develop further the model. But sorry, I "have broken" the parameter values. It is now fixed. Pamputt (talk) 18:01, 12 November 2021 (UTC)
Nice, the wiki way. Thank for that. Also, I though about a "help" step :
  • help: Requester or else creates a local [[Help:LinguaLibre]] on target wiki. This page contains an extremely brief, general purpose definition of LinguaLibre, the bot, as well as a redirect toward Lingualibre.org's support page LinguaLibre:Bot.
A standard access point of sort so the search "LinguaLibre" on that wiki returns something, a page, which includes key pointers. Any view on that idea ? Yug (talk) 20:31, 12 November 2021 (UTC)
I think this is the role of User:Lingua Libre Bot. This page is displayed on every wiki when the user page is not overwritten. So by default, I think we should improve this user page if needed; it already exists and it does not need to create any additional page on the local wiki. Pamputt (talk) 20:43, 12 November 2021 (UTC)
I see. Wonderful. A template text in English would be welcome in Template:Bot steps/Documentation. Yug (talk) 11:30, 13 November 2021 (UTC)

[es:wikt] Bot request for Spanish Wiktionary

  • [] Request opened.
  • [] Requirements defined.
  • [] Script coded.
  • [] Code submited (Pull Request).
  • [] Code accepted.
  • [] Requestee notified.
  • [] Community notified.
  • [] Local help page created.
  • [] 7 days delay.
  • [] Bot activated.
add parameter requestee-
  • Example pages (≥3): Including audio: comer, casa, España, agua. Missing audio:wikt:fresa, Francia, correr, rápido.
  • Target section: {{pron-graf}} (OR {{pron-graf|leng=es}}) The target section is called either {{pron-graf}} or {{pron-graf|leng=es}}.

Details about the structure of the Spanish Wiktionary (only in Spanish): Template:pron-graf

  • Local audio template(s) example(s):
{{pron-graf|leng=es
|pron=estándar
|fone=paˈɾa.me.tɾos
|audio=Example.ogg
|fone2=paˈɾa.me.tɾoː
|fono3=paˈra.me.tros}}
  • Actual examples from entries:
    • {{pron-graf|fone=esˈpa.ɲa|audio=Es-es españa 001.ogg}}
    • {{pron-graf|fone=koˈmeɾ|audio=LL-Q1321 (spa)-Rodelar-comer.wav}}
    • {{audio|Es-am-lat-casa.ogg|'''Audio''' (América)}}
    • {{audio|Es-bo-casa.oga|'''Audio''' (La Paz, Bolivia)}}
    • {{pron-graf|fone=ˈa.ɣwa|audio=Es-am-lat-agua.ogg|pron=América Latina|2audio=LL-Q1321 (spa)-Rodelar-agua.wav|2pron=España|2fone=ˈa.ɣwa}}
  • Local audio template(s) explained:
    • {pron-graf} refers to the "Pronunciation Box" where the IPA transcriptions and the audios are displayed together.
    • |leng=es is the iso639-2 of the audio.
    • |fone= Means IPA transcription
  • Edit summary text: Añadido por LinguaLibre.org
  • Request by: "Marreromarco"

An administrator of Spanish Wiktionary agreed to cooperate with LinguaLIbre and to grant permission to its bot: es:wikt:Wikcionario:Café#Colaboración con "LinguaLibre" para añadir pronunciaciones a las entradas de Wikcionario

However, the Spanish Wiktionary does not have a separate section for Pronunciations as FrWiktionary. The audio files are displayed in a "pronunciation box" that is very small. Therefore, the Spanish Wiktionary admin said that the number of audios per entry should be limited.

I would propose a maximum of 3 audio files per entry in the Spanish Wiktionary. It is not feasible with their current format to have 12 audio files per each word.

Thanks for your help in advance ! Merci :D

Contact email: wiki.nx6f7@simplelogin.co --Marreromarco

Hola Marreromarco thank you for all the informations. I would say this is feasible to limit the number of audios to 3. Just to be clear, should we limit the number of audio to 3 or the number of uses of the template pron-graf, which means, it one is already present without pronunciation, it would limit the number of audios to two? I plan to work on Catalan Wiktionary first but it should be possible to have a working prototype for eswiktionary before the end of the year. Pamputt (talk) 08:23, 14 November 2021 (UTC)

Pamputt Thanks for you kind answer. In my opinion, the bot could add 3 audio files regardless of how many audio files already has the template pron-graf. As an example, if the spanish word "fresa" (fraise en français) already has 2 audios, the LinguaLibre Bot could still add 3 audios. In total would be 5 audios and that would be acceptable.

What should not happen is to allow the bot to add 10-12 audios because of the space constraints of the template pron-graf. merci beaucoup :D --Marreromarco

@Marreromarco I may now have more time to work on Lingua Libre Bot to add more Wiktionary support. Are you still interested in? Pamputt (talk) 22:45, 25 January 2023 (UTC)

[bcl:wikt] Bot request for Central Bikol Wiktionary

  • [x] Request opened.
  • [] Requirements defined.
  • [] Script coded.
  • [] Code submited (Pull Request).
  • [] Code accepted.
  • [] Requestee notified.
  • [] Community notified.
  • [] Local help page created.
  • [] 7 days delay.
  • [] Bot activated.

uk: add parameter requestee-Poslovitch,Pamputt

  • Use cases : bangsod, basalyo, baro-batikal
  • Section titles: ==Pagsayod==
  • Local audio template(s) example(s): (e.g. Template:Deng) -- None observed in examples above.
  • Local audio template(s) explained:
    • {Audio} means "audio", and take the following parameters...
    • bcl is the iso639-3 of the audio.
    • bcl-bcl-mansanas.ogg is the filename
    • Deng (DYA) means audio (deng) and USA (DYA) which is the local variant or accent.
  • Comment message: Nagkaag nin pagsayod (LinguaLibre.org).
  • Request by: Kunokuno (talk) 15:32, 28 January 2022 (UTC)

@Kunokuno , bcl wiktionary doesn't have template to display audios ? Your form above is not complete, the former text is to replace with yours. The audio template is not properly documented. Yug (talk) 17:19, 28 January 2022 (UTC)

Oops, sorry with that. I' ll work on it and update this request. Kunokuno (talk) 18:39, 28 January 2022 (UTC)
Hi Yug, this is our template for audio. It was only now that I've remembered creating this one. Is this correct? I have only copied it from the english wiktionary. Kunokuno (talk) 05:51, 29 January 2022 (UTC)
@Kunokuno I may now have more time to work on Lingua Libre Bot to add more Wiktionary support. Are you still interested in? Pamputt (talk) 22:46, 25 January 2023 (UTC)
It was just now that I was able to read your message. If you still had the time, our community would benefit from this. Thank you Pamputt. Kunokuno (talk) 14:17, 26 November 2023 (UTC)

[dicoado] Bot request for French DicoAdo

  • [x] Request opened.
  • [] Requirements defined.
  • [] Script coded.
  • [] Code submited (Pull Request).
  • [] Code accepted.
  • [] Requestee notified.
  • [] Community notified.
  • [] Local help page created.
  • [] 7 days delay.
  • [] Bot activated.
add parameter requestee-
{{Media</nowiki>
|MediaType=Prononciation
|prononciation=LL-Q150 (fra)-DSwissK-{{subst:PAGENAME}}.wav
}}
  • Local audio template(s) explained: no parameter, just the filename (without "File:") after "|prononciation="
  • Local particularities:
    • only one file per page (except pages like chat which have completely different prononciations)
    • There is a category that lists all the words that still haven't any prononciation added. I record them regularly to be able to hear all the words added to this dictionary.
  • Edit summary text: prononciation ajoutée par LinguaBot
  • Request by: DSwissK (talk) 16:21, 28 March 2022 (UTC)
@DSwissK I may now have more time to work on Lingua Libre Bot to add more Wiktionary support. The DicoAdo website is a different website but I can check how to run Lingua Libre on it. Are you still interested in? Pamputt (talk) 22:47, 25 January 2023 (UTC)
@Pamputt I see your message now :3 yes I am still interested in the bot, if you still have time for that. DSwissK (talk) 14:07, 9 September 2023 (UTC)

Does the bot automagically upload pronunciations to Lexeme?

It is unclear from the descriptions of the bot whether it can automagically pick up recordings I have made of lexemes and add pronunciation statements to those lexemes.

I fed LinguaLibre this kind of query, and recorded files like this one, but I don't see that LinguaLibre recorded the Lexeme ID anywhere, and I wonder if the bot would eventually pick this up and link it to the Lexeme based on the form alone (which seems a bit risky).

Assuming it does not, what way do you use to batch-attach such recordings to lexemes? Ijon (talk) 21:48, 5 October 2022 (UTC)

Answering my own question: the bot does link it, as it saves the Lexeme ID in the LL item. However, to get the pronunciation to be linked to a particular form of the lexeme, make sure the 'id' in your query is of a form and not just of the whole lexeme. Here is an adapted version of my query from above. Ijon (talk) 12:32, 6 October 2022 (UTC)

[lmo:wikt] Bot request for Lombard Wiktionary

  • [x] Request opened.
  • [x] Requirements defined.
  • [] Script coded.
  • [] Code submited (Pull Request).
  • [] Code accepted.
  • [] Requestee notified.
  • [] Community notified.
  • [] Local help page created.
  • [] 7 days delay.
  • [] Bot activated.

or: add parameter requestee-

  • Example pages (4):
    for lombard words, you can see best audio integration there: can, scomincià, ai
    for non-lombard words, you can see best audio integration there: casa
  • Target section: The template {{audio-quader|}} should be written on the line below the last {{IPA in the code (which means International_Phonetic_Alphabet).

The local template(s) ({{audio}}) must be added sequantially as if they were the first and only parameter of the template "audio-quader"
If there isn't any {{IPA the template {{audio-quader}} should be added at the bottom of the section == {{-lmo-}} ==, and then the bot should add the local audio template(s) ({{audio}}) as if they were the first and only parameter of the template {{audio-quader}}

  • Local audio template(s) example(s):
{{audio-quader|
{{audio|lmo|lmo-mi-can.ogg|MI}} 
{{audio|lmo|lmo-mi-can.ogg|MI}} 
}}
  • Local audio template(s) explained:
    • {audio-quader} means audio box and its parameter contains the audio template(s) "audio".
    • {audio} means "audio", and take the following parameters...
    • lmo is the iso639-2 or iso639-1 of the audio.
    • Lmo-mi-can.ogg is the filename
    • MI MI (Milan) which is the local variant or accent.

The abbreviations to be used for the local variants are (written in lombard)

MI = dialet milanes
Br = dialet brianzoeul
CO = dialet comasch
Vls = dialet valassines
Lagh = dialet lagher 
VA = dialet varesot
VB = dialet verbanes
CO = dialet comasch
LC = dialet leches
Trz = dialet trezzes
LO = dialet lodesan
PV = dialet paves
Lu = dialet lumellin 
Vgv = dialet vigevanes
NO = dialet novares
Bst = dialet bustoch
Lgn = dialet legnanes
TI = dialet ticines
Ciav = dialet ciavenasch
VB = dialet verbanes
CO = dialet comasch
Breg = dialet bregajot
Vtel = dialet valtelines
°Vtel = dialet dialet de l'alta valtolina
Pos'c = dialet pos'ciavin 
BG = dialet bergamasch
BS = dialet bressan
Cr =  dialet cremasch
CR = dialet cremones
CrCR = dialet dialet de passagg infra el cremasch e 'l cremones
Cam = dialet de la val Camonega
Toc = dialet trentin ocidental
Olp = dialet oltrepadan
Mes = dialet mesolcines
Cal = dialet calanchin

(idest like here)
  • Summary text: registrazzion audio sgiontada.
  • Request by: Gat lombard

--Gat lombart 08:21, 18 November 2022‎

Hello Gat lombart, thank you for this request. We don't have Python developer at the moment to lead edit this bot, so request are staled. But as long as your request is properly filled, we have the information ready to add that language some days. If you have a network with intermediary python developers, they are welcome to come over. Poslovitch or Lepeticed can mentor a new comer to point him in the right direction. Yug (talk) 12:37, 11 December 2022 (UTC)
@Gat lombart I may now have more time to work on Lingua Libre Bot to add more Wiktionary support. Are you still interested in? Pamputt (talk) 22:48, 25 January 2023 (UTC)
@Pamputt Hello, the Lombard community approved librebot language at the end of 2021 (https://lmo.wiktionary.org/wiki/Wikizzionari:Domande_de_bot/Domanda_del_3_-_11_-_2021_-_19:51), so you can proceed if you want. Gat lombart talk
@Gat lombart I would have a few more questions to code the bot
  1. from examples given in the first message, it is not clear to me where to place the {{audio-quader|}} template. On some examples, they are at the end of a "parnonzia" section (see can for example) ; there is no problem for this case. The problem is for other cases. For example in ai, why the "audio-quader" template is placed here and not elsewhere? Would it be possible to always add the audio pronunciation inside a "parnonzia" section, which means create a "parnonzia" section if there is none? Is so, where should I place this "parnonzia" section ? What are the sections that should always come before or after?
  2. there is currently no word recorded in Lombart on Lingua Libre. Could you record some so that I can perform some tests with the bot?
  3. about the local variant or accent, how could I know it programatically? Is there any statement/property on Lingua Libre that I could use? It could be guess from place of residence (P14) of the locutor by maintaining a list of city and the corresponding dialect/accent. If the city is not associated to any dialect/variant, then the last paramter remains empty.
Pamputt (talk) 17:43, 12 February 2023 (UTC)
@Pamputt 1. Since many Lombard words have more than one variant regarding the Lombard language entries, each word has a page that contains all the variants and other pages that serve only to refer to this one. Even words in the plural have only short pages that serve to refer to the pages of the words in the singular. This is the reason why not all pages have the "parnonzia" section. This section is only present on pages that contain all variants. "ai" is in fact a page that refers to other pages. However, if it is really necessary you can add the section also in these pages, immediately above the "audio-quader" template. The main problem is rather that "ai" is both an "articulated preposition" (preposizzion articulada), and a pronoun (pronom), and a noun (nom). So you could choose to have the bot add the pronunciation for all three cases, or if you can it is better specify the part of specch before registering and then add the pronunciation for only a specific part of speech. A simple criterion for the bot is that of write below the line that contains "::(dialet:". This would almost always work unless the code has been tampered with by someone.
2. I thought there was no Lombard in the language list then I found it as "lingua lombarda". I therefore ask you to replace "lombard" in place of "lingua lombarda" otherwise it is not easy to find.
3. Unfortunately, the place of residence is not always a valid indicator in determining the language variant as one could have learned Lombard in the family or be born in a place other than that of residence. The correct work is to allow you to select your own dialect variant regardless of your place of residence.
gat lombard

Bot request for Malayalam Wiktionary

  • [x] Request opened.
  • [] Requirements defined.
  • [] Script coded.
  • [] Code submited (Pull Request).
  • [] Code accepted.
  • [] Requestee notified.
  • [] Community notified.
  • [] Local help page created.
  • [] 7 days delay.
  • [] Bot activated.

or: add parameter requestee-

@Akbarali & Vis M thank you for completing the form. I have one more question. Where does the pronunciation section go? It seems to be at the beginning of the section but on wikt:അമ്മ, there is another section before. So should Lingua Libre Bot always place the pronunciation section as the first section (if the pronunciation does not exist yet)? Pamputt (talk) 20:24, 28 July 2023 (UTC)

@Pamputt That's the etymology section. It is written under different names: നിരുക്തം, പദോല്പത്തി, പദോത്പത്തി, etc. Pronunciation section can come above this section, it's not an issue. There are only a handful pages with Etymology section in Malayalam, so it is possible to manually move later. Thank you.Vis M (talk) 16:02, 10 August 2023 (UTC)
@Akbarali, Vis M, & Pamputt Looks like this project has not moved forward since 2023, is there anything I can do to make the bot add pronunciations in Malayalam? Netha Hussain (talk)