Cygnus issueshttps://gitlab.wmflabs.org/Cygnus/Cygnus/-/issues2018-06-10T00:27:13Zhttps://gitlab.wmflabs.org/Cygnus/Cygnus/-/issues/1Translate the documentation2018-06-10T00:27:13ZLuke081515luke081515@tools.wmflabs.orgTranslate the documentationThe documentation of BotCore and other files should get translated into english, so that non-german people can understand Cygnus as easily as germans currently. This depends on a decision before that framework was named Cygnus, so time to change it.The documentation of BotCore and other files should get translated into english, so that non-german people can understand Cygnus as easily as germans currently. This depends on a decision before that framework was named Cygnus, so time to change it.Version 2.1Luke081515luke081515@tools.wmflabs.orgLuke081515luke081515@tools.wmflabs.orghttps://gitlab.wmflabs.org/Cygnus/Cygnus/-/issues/5Use good params everywhere2017-10-31T18:22:23ZLuke081515luke081515@tools.wmflabs.orgUse good params everywhereWe should use these two parameters at every function:
* maxlag
* assertWe should use these two parameters at every function:
* maxlag
* assertVersion 2.1Luke081515luke081515@tools.wmflabs.orgLuke081515luke081515@tools.wmflabs.orghttps://gitlab.wmflabs.org/Cygnus/Cygnus/-/issues/6Translate errors to english2017-10-30T21:38:59ZLuke081515luke081515@tools.wmflabs.orgTranslate errors to englishWe updated our documentation that it is international, so that people in other languages can understand it. It would be a nice logical step to do that with the error messages too, not all are already in english.We updated our documentation that it is international, so that people in other languages can understand it. It would be a nice logical step to do that with the error messages too, not all are already in english.Version 2.1Luke081515luke081515@tools.wmflabs.orgLuke081515luke081515@tools.wmflabs.orghttps://gitlab.wmflabs.org/Cygnus/Cygnus/-/issues/7Get a uniform format for API-Urls2017-12-19T00:04:54ZLuke081515luke081515@tools.wmflabs.orgGet a uniform format for API-UrlsWhen formatting an API URL there are several ways at the moment, one is putting all the extra rubish in one line. That's not that readable, additionally phpcs freaks out when it sees that. So we need a good way to format all these URLs. What format do you prefer?
I prefer something like:
```
$data = 'action=watch'
. '&format=json'
. '&unwatch=' . $unwatch
. '&titles=' . urlencode($title)
. '&token=' . urlencode($token)
. '&assert=' . $this->assert
. '&maxlag=' . $this->maxlag;
```
(From merge request 5)
Easy to read, but tends to get long.When formatting an API URL there are several ways at the moment, one is putting all the extra rubish in one line. That's not that readable, additionally phpcs freaks out when it sees that. So we need a good way to format all these URLs. What format do you prefer?
I prefer something like:
```
$data = 'action=watch'
. '&format=json'
. '&unwatch=' . $unwatch
. '&titles=' . urlencode($title)
. '&token=' . urlencode($token)
. '&assert=' . $this->assert
. '&maxlag=' . $this->maxlag;
```
(From merge request 5)
Easy to read, but tends to get long.Version 2.2https://gitlab.wmflabs.org/Cygnus/Cygnus/-/issues/8get a rid of echo ()2017-10-30T21:38:59ZLuke081515luke081515@tools.wmflabs.orgget a rid of echo ()There are still some places in the code where we are using `echo();` instread of `echo ;`There are still some places in the code where we are using `echo();` instread of `echo ;`Version 2.1Luke081515luke081515@tools.wmflabs.orgLuke081515luke081515@tools.wmflabs.orghttps://gitlab.wmflabs.org/Cygnus/Cygnus/-/issues/10Create a possiblity to put echo to files2017-12-21T23:51:18ZLuke081515luke081515@tools.wmflabs.orgCreate a possiblity to put echo to filesIt would be useful to Redirect the Output to a file. With the ircecho script we can use this to write a simple ircbot implementation.It would be useful to Redirect the Output to a file. With the ircecho script we can use this to write a simple ircbot implementation.Version 2.1Luke081515luke081515@tools.wmflabs.orgLuke081515luke081515@tools.wmflabs.orghttps://gitlab.wmflabs.org/Cygnus/Cygnus/-/issues/23Ban short forms2017-12-02T18:26:47ZLuke081515luke081515@tools.wmflabs.orgBan short formsReplace
```
if (condition)
code();
```
with
```
if (condition) {
code();
}
```
but keep
```
} else {
```
etc.Replace
```
if (condition)
code();
```
with
```
if (condition) {
code();
}
```
but keep
```
} else {
```
etc.Version 2.1Luke081515luke081515@tools.wmflabs.orgLuke081515luke081515@tools.wmflabs.orghttps://gitlab.wmflabs.org/Cygnus/Cygnus/-/issues/9Use " as default quotes2017-12-20T12:47:11ZLuke081515luke081515@tools.wmflabs.orgUse " as default quotesI'm proposing we replace all ' ' quotes through " ", since '' quotes do not support color codes and other things, like vars in it.I'm proposing we replace all ' ' quotes through " ", since '' quotes do not support color codes and other things, like vars in it.Version 2.1Luke081515luke081515@tools.wmflabs.orgLuke081515luke081515@tools.wmflabs.orghttps://gitlab.wmflabs.org/Cygnus/Cygnus/-/issues/12check if you can write the user an email2017-11-05T12:40:41ZLuke081515luke081515@tools.wmflabs.orgcheck if you can write the user an emailThere should be a check which shows you if the user has wikimail active.There should be a check which shows you if the user has wikimail active.Version 2.1Luke081515luke081515@tools.wmflabs.orgLuke081515luke081515@tools.wmflabs.orghttps://gitlab.wmflabs.org/Cygnus/Cygnus/-/issues/4Allow the use of the watchlist2018-01-22T11:30:29ZLuke081515luke081515@tools.wmflabs.orgAllow the use of the watchlistIn general you can track changes with the watchlist. It can be useful to use this feature. We should:
* [x] create a function that allows watching and unwatching of pages
* [x] make sure that no other functions are watching or unwatching pages
* [ ] create a function that reads out the watchlistIn general you can track changes with the watchlist. It can be useful to use this feature. We should:
* [x] create a function that allows watching and unwatching of pages
* [x] make sure that no other functions are watching or unwatching pages
* [ ] create a function that reads out the watchlistVersion 2.2https://gitlab.wmflabs.org/Cygnus/Cygnus/-/issues/55Write Readme for Cygnus2017-12-29T01:20:17ZFreddyWrite Readme for CygnusInclude a Readme which describes Cygnus and basic usageInclude a Readme which describes Cygnus and basic usageVersion 2.1Luke081515luke081515@tools.wmflabs.orgLuke081515luke081515@tools.wmflabs.orghttps://gitlab.wmflabs.org/Cygnus/Cygnus/-/issues/61Implement action "patrol"2018-02-11T12:06:21ZLuke081515luke081515@tools.wmflabs.orgImplement action "patrol"It should be possible to patrol a page, since we already have flaggedrefs included.It should be possible to patrol a page, since we already have flaggedrefs included.Version 2.1Luke081515luke081515@tools.wmflabs.orgLuke081515luke081515@tools.wmflabs.orghttps://gitlab.wmflabs.org/Cygnus/Cygnus/-/issues/80Change return format of patrol and rollback2018-02-11T12:06:21ZLuke081515luke081515@tools.wmflabs.orgChange return format of patrol and rollbackBoth are using a mix of strings etc, but they can use more simple values, which are taking less ressources to compare later. These methods where introduced in the current alpha, so changing it is no breaking change.Both are using a mix of strings etc, but they can use more simple values, which are taking less ressources to compare later. These methods where introduced in the current alpha, so changing it is no breaking change.Version 2.1Luke081515luke081515@tools.wmflabs.orgLuke081515luke081515@tools.wmflabs.orghttps://gitlab.wmflabs.org/Cygnus/Cygnus/-/issues/77Remove ununsed vars2018-02-11T14:55:28ZLuke081515luke081515@tools.wmflabs.orgRemove ununsed varsOften there are action like this:
```php
$result = $this->ApiRequest();
$resultUs = unserialize($result);
```
$result gets then not used again, but consumes ram. This should get removed.Often there are action like this:
```php
$result = $this->ApiRequest();
$resultUs = unserialize($result);
```
$result gets then not used again, but consumes ram. This should get removed.Version 2.1Luke081515luke081515@tools.wmflabs.orgLuke081515luke081515@tools.wmflabs.orghttps://gitlab.wmflabs.org/Cygnus/Cygnus/-/issues/94Debug: autodetect if output is an array2018-03-09T20:03:29ZLuke081515luke081515@tools.wmflabs.orgDebug: autodetect if output is an arrayThis should be done automatically, since some functions also return mixed results.This should be done automatically, since some functions also return mixed results.Version 2.1Luke081515luke081515@tools.wmflabs.orgLuke081515luke081515@tools.wmflabs.orghttps://gitlab.wmflabs.org/Cygnus/Cygnus/-/issues/79Use similar layout for the docu2018-01-29T01:19:19ZLuke081515luke081515@tools.wmflabs.orgUse similar layout for the docuCurrently the order of @param, @author etc. is different, it would be useful to make that similar.
I'd say we can do:
```php
/** method name
* Short description
* @author Authorname
* @param $param - text here
* @param $param - [default: default value] - text
* @return type: text
*/
```Currently the order of @param, @author etc. is different, it would be useful to make that similar.
I'd say we can do:
```php
/** method name
* Short description
* @author Authorname
* @param $param - text here
* @param $param - [default: default value] - text
* @return type: text
*/
```Version 2.1Luke081515luke081515@tools.wmflabs.orgLuke081515luke081515@tools.wmflabs.orghttps://gitlab.wmflabs.org/Cygnus/Cygnus/-/issues/76Use identical var names at API-Requests2018-01-31T21:36:41ZLuke081515luke081515@tools.wmflabs.orgUse identical var names at API-RequestsWhen fetching the API results, the same varname scheme should get used. This should get checked.When fetching the API results, the same varname scheme should get used. This should get checked.Version 2.1Luke081515luke081515@tools.wmflabs.orgLuke081515luke081515@tools.wmflabs.orghttps://gitlab.wmflabs.org/Cygnus/Cygnus/-/issues/70ban goto2018-01-31T21:36:40ZLuke081515luke081515@tools.wmflabs.orgban gotoIt would be useful to ban this not so good piece of coding, which is only used at some places.It would be useful to ban this not so good piece of coding, which is only used at some places.Version 2.1Luke081515luke081515@tools.wmflabs.orgLuke081515luke081515@tools.wmflabs.orghttps://gitlab.wmflabs.org/Cygnus/Cygnus/-/issues/60Implement action "rollback"2018-01-13T22:33:44ZLuke081515luke081515@tools.wmflabs.orgImplement action "rollback"It should be possible to rollback a change.It should be possible to rollback a change.Version 2.1Luke081515luke081515@tools.wmflabs.orgLuke081515luke081515@tools.wmflabs.orghttps://gitlab.wmflabs.org/Cygnus/Cygnus/-/issues/11New user-related commands suggestion2018-02-11T12:08:02ZJohn SmithNew user-related commands suggestion* [x] check if the user exists => !14
* [x] check if the user is blocked => !17
* [x] check the user's editcount => !15
* [x] check the user rights of the user => !16
* [x] check if user is a IP => there is no way to check this via the API, you can check if there is user with that name, otherwise it's an IP. That should work.
* [x] not totally sure, check https://github.com/alexz-enwp/wikitools/blob/master/wikitools/user.py#L47 => see discussion
* [x] get the user's talk page => declined, see discussion
* [x] block the user (already available)
* [x] unblock the user (already available)* [x] check if the user exists => !14
* [x] check if the user is blocked => !17
* [x] check the user's editcount => !15
* [x] check the user rights of the user => !16
* [x] check if user is a IP => there is no way to check this via the API, you can check if there is user with that name, otherwise it's an IP. That should work.
* [x] not totally sure, check https://github.com/alexz-enwp/wikitools/blob/master/wikitools/user.py#L47 => see discussion
* [x] get the user's talk page => declined, see discussion
* [x] block the user (already available)
* [x] unblock the user (already available)Version 2.1Luke081515luke081515@tools.wmflabs.orgLuke081515luke081515@tools.wmflabs.orghttps://gitlab.wmflabs.org/Cygnus/Cygnus/-/issues/13Allow to rerun Debug without restarting2017-10-30T21:38:59ZLuke081515luke081515@tools.wmflabs.orgAllow to rerun Debug without restartingFor multiple checks it would make sense to do them at the same time without need to restart debug an reenter the credentials.For multiple checks it would make sense to do them at the same time without need to restart debug an reenter the credentials.Version 2.1Luke081515luke081515@tools.wmflabs.orgLuke081515luke081515@tools.wmflabs.orghttps://gitlab.wmflabs.org/Cygnus/Cygnus/-/issues/14Write automatic tests for each function2017-11-09T15:12:30ZLuke081515luke081515@tools.wmflabs.orgWrite automatic tests for each functionIt would be great if we can build a script which checks every function against each single return possiblity, and then submit this script to the pipeline for each new commit.It would be great if we can build a script which checks every function against each single return possiblity, and then submit this script to the pipeline for each new commit.Version 2.2Luke081515luke081515@tools.wmflabs.orgLuke081515luke081515@tools.wmflabs.orghttps://gitlab.wmflabs.org/Cygnus/Cygnus/-/issues/24Create a way to suppress inital output2017-12-21T23:51:18ZLuke081515luke081515@tools.wmflabs.orgCreate a way to suppress inital outputWould be nice for unit tests etc, if we don't get Cygnus Version...Would be nice for unit tests etc, if we don't get Cygnus Version...Version 2.1Luke081515luke081515@tools.wmflabs.orgLuke081515luke081515@tools.wmflabs.orghttps://gitlab.wmflabs.org/Cygnus/Cygnus/-/issues/16Rename of getAllEmbedings2017-11-05T12:40:41ZLuke081515luke081515@tools.wmflabs.orgRename of getAllEmbedingsSee https://rcm-2.wmflabs.org/T934 for the old descripton, we need to insert that here as well, it's still on the old and wrong version.See https://rcm-2.wmflabs.org/T934 for the old descripton, we need to insert that here as well, it's still on the old and wrong version.Version 2.1Luke081515luke081515@tools.wmflabs.orgLuke081515luke081515@tools.wmflabs.orghttps://gitlab.wmflabs.org/Cygnus/Cygnus/-/issues/18Make checkResult more general2017-11-18T00:17:43ZLuke081515luke081515@tools.wmflabs.orgMake checkResult more generalShould be more general, and nearly every function should use it.Should be more general, and nearly every function should use it.Version 2.1Luke081515luke081515@tools.wmflabs.orgLuke081515luke081515@tools.wmflabs.orghttps://gitlab.wmflabs.org/Cygnus/Cygnus/-/issues/19Write documentation for DBCore2017-12-26T22:44:36ZFreddyWrite documentation for DBCoreThere is no documentation for DBCore, it should be written.There is no documentation for DBCore, it should be written.Version 2.1Luke081515luke081515@tools.wmflabs.orgLuke081515luke081515@tools.wmflabs.orghttps://gitlab.wmflabs.org/Cygnus/Cygnus/-/issues/20Move API path to Password.php2018-01-31T21:36:40ZFreddyMove API path to Password.phpThe path to API (usually w/api.php) should be set in Password.php because it may differ on some wikis i.e. Wikia projectsThe path to API (usually w/api.php) should be set in Password.php because it may differ on some wikis i.e. Wikia projectsVersion 2.1FreddyFreddyhttps://gitlab.wmflabs.org/Cygnus/Cygnus/-/issues/22Add function getMissingLinks2017-11-09T13:18:08ZFreddyAdd function getMissingLinksFreddyFreddyhttps://gitlab.wmflabs.org/Cygnus/Cygnus/-/issues/28Generate CodeCoverage Report2018-01-10T21:30:29ZLuke081515luke081515@tools.wmflabs.orgGenerate CodeCoverage ReportIt would be nice if pipeline can generate a CodeCoverage report, phpunit supports that, but needs to be configured.It would be nice if pipeline can generate a CodeCoverage report, phpunit supports that, but needs to be configured.Version 2.2https://gitlab.wmflabs.org/Cygnus/Cygnus/-/issues/30Debug: Add possiblity to get full API result2017-12-21T23:51:18ZLuke081515luke081515@tools.wmflabs.orgDebug: Add possiblity to get full API resultFor debugging it makes sense to get the full API result, if that is possible.For debugging it makes sense to get the full API result, if that is possible.Version 2.1Luke081515luke081515@tools.wmflabs.orgLuke081515luke081515@tools.wmflabs.orghttps://gitlab.wmflabs.org/Cygnus/Cygnus/-/issues/31login: Deprecated: Show warning2018-01-16T21:05:14ZLuke081515luke081515@tools.wmflabs.orglogin: Deprecated: Show warningResult for `action=login&maxlag=5&format=json&lgname=Luke081515Bot&lgpassword=redacted&lgtoken=sometoken`:
```json
'{"warnings":{"main":{"*":"Subscribe to the mediawiki-api-announce mailing list at <https://lists.wikimedia.org/mailman/listinfo/mediawiki-api-announce> for notice of API deprecations and breaking changes. Use [[Special:ApiFeatureUsage]] to see usage of deprecated features by your application."},"login":{"*":"Main-account login via \"action=login\" is deprecated and may stop working without warning. To continue login with \"action=login\", see [[Special:BotPasswords]]. To safely continue using main-account login, see \"action=clientlogin\"."}},"login":{"result":"Success","lguserid":294,"lgusername":"Luke081515Bot"}}'
```
You don't get this, if you are doing a login via botpasswords.
So what is our plan here? Warn users using login and normal password, and support clientlogin?Result for `action=login&maxlag=5&format=json&lgname=Luke081515Bot&lgpassword=redacted&lgtoken=sometoken`:
```json
'{"warnings":{"main":{"*":"Subscribe to the mediawiki-api-announce mailing list at <https://lists.wikimedia.org/mailman/listinfo/mediawiki-api-announce> for notice of API deprecations and breaking changes. Use [[Special:ApiFeatureUsage]] to see usage of deprecated features by your application."},"login":{"*":"Main-account login via \"action=login\" is deprecated and may stop working without warning. To continue login with \"action=login\", see [[Special:BotPasswords]]. To safely continue using main-account login, see \"action=clientlogin\"."}},"login":{"result":"Success","lguserid":294,"lgusername":"Luke081515Bot"}}'
```
You don't get this, if you are doing a login via botpasswords.
So what is our plan here? Warn users using login and normal password, and support clientlogin?Version 2.1Luke081515luke081515@tools.wmflabs.orgLuke081515luke081515@tools.wmflabs.orghttps://gitlab.wmflabs.org/Cygnus/Cygnus/-/issues/32General handling for warnings2017-11-09T14:27:53ZLuke081515luke081515@tools.wmflabs.orgGeneral handling for warningsAs seen in #31 it would be nice if we can display or log warnings. In this case I discovered that problem only because I ran debug with the new verbose-debug mode. That is optimal, as warnings may useful as well for the developers. Additionally, if we are handling warnings better, we can make unit tests fail as well.
What's better, displaying or logging warnings? And at which place to we want to catch them? Each function or maybe httpRequest? httpRequest has the problem of different formats, if old functions are using format=php, httpRequest can't search for the json part. Or implement an extra function for that?
@freddy2001 Your thoughts?As seen in #31 it would be nice if we can display or log warnings. In this case I discovered that problem only because I ran debug with the new verbose-debug mode. That is optimal, as warnings may useful as well for the developers. Additionally, if we are handling warnings better, we can make unit tests fail as well.
What's better, displaying or logging warnings? And at which place to we want to catch them? Each function or maybe httpRequest? httpRequest has the problem of different formats, if old functions are using format=php, httpRequest can't search for the json part. Or implement an extra function for that?
@freddy2001 Your thoughts?Version 2.2FreddyFreddyhttps://gitlab.wmflabs.org/Cygnus/Cygnus/-/issues/33make the bot able to read/write from wikibase2018-01-30T22:29:41ZLuke081515luke081515@tools.wmflabs.orgmake the bot able to read/write from wikibaseoriginally from https://rcm-2.wmflabs.org/T905
The bot should be able to interact with wikibase. Not sure if we should insert that into BotCore or write a seperate class.originally from https://rcm-2.wmflabs.org/T905
The bot should be able to interact with wikibase. Not sure if we should insert that into BotCore or write a seperate class.FreddyFreddyhttps://gitlab.wmflabs.org/Cygnus/Cygnus/-/issues/34get a list of notifications2017-11-13T09:20:32ZLuke081515luke081515@tools.wmflabs.orgget a list of notificationsoriginally from https://rcm-2.wmflabs.org/T890
Make the bot able read out notification.
@freddy2001 I think you have already something similar?originally from https://rcm-2.wmflabs.org/T890
Make the bot able read out notification.
@freddy2001 I think you have already something similar?Version 2.2FreddyFreddyhttps://gitlab.wmflabs.org/Cygnus/Cygnus/-/issues/36Handle args better2017-12-26T22:46:56ZLuke081515luke081515@tools.wmflabs.orgHandle args betterfor #28 it is required to specify some param for phpunit. The problem: if you add one param to phpunit, all args need to be one index bigger. The solution: We add an arg called "CS" for "credentials start" or "configuration start" and the test scripts read till this arg, and then use the three following params.for #28 it is required to specify some param for phpunit. The problem: if you add one param to phpunit, all args need to be one index bigger. The solution: We add an arg called "CS" for "credentials start" or "configuration start" and the test scripts read till this arg, and then use the three following params.Version 2.1Luke081515luke081515@tools.wmflabs.orgLuke081515luke081515@tools.wmflabs.orghttps://gitlab.wmflabs.org/Cygnus/Cygnus/-/issues/37Debug: Better visualisation of "false"2017-12-26T22:47:06ZLuke081515luke081515@tools.wmflabs.orgDebug: Better visualisation of "false"Currently, this happens, when the return value is `false`
```
Performance: 0.19146990776062 seconds
Display the result now? [y/N]y
Do you want to debug another function? [y/N]n
```
Would be nice if true can get displayed better as well.Currently, this happens, when the return value is `false`
```
Performance: 0.19146990776062 seconds
Display the result now? [y/N]y
Do you want to debug another function? [y/N]n
```
Would be nice if true can get displayed better as well.Version 2.1Luke081515luke081515@tools.wmflabs.orgLuke081515luke081515@tools.wmflabs.orghttps://gitlab.wmflabs.org/Cygnus/Cygnus/-/issues/38Detect Botpasswords2017-12-26T22:47:22ZLuke081515luke081515@tools.wmflabs.orgDetect BotpasswordsFunctions like allowBots need to know the username. If they don't have this, this can create problems. The currently problem: If you are using a botpassword, your username is not username, but username@botpwdname, so we need to detect if there is a botpassword, and create a fixedUsername or something like that, which functions like allowBots can use.Functions like allowBots need to know the username. If they don't have this, this can create problems. The currently problem: If you are using a botpassword, your username is not username, but username@botpwdname, so we need to detect if there is a botpassword, and create a fixedUsername or something like that, which functions like allowBots can use.Version 2.1Luke081515luke081515@tools.wmflabs.orgLuke081515luke081515@tools.wmflabs.orghttps://gitlab.wmflabs.org/Cygnus/Cygnus/-/issues/39All write methods should check AllowBots2017-12-19T00:04:40ZLuke081515luke081515@tools.wmflabs.orgAll write methods should check AllowBotsWe have already `AllowBots()`, it's checking pages, if editing them. But we should also check on deleting, protecting etc.We have already `AllowBots()`, it's checking pages, if editing them. But we should also check on deleting, protecting etc.Version 2.2https://gitlab.wmflabs.org/Cygnus/Cygnus/-/issues/40Global Methods2017-12-29T01:20:43ZLuke081515luke081515@tools.wmflabs.orgGlobal MethodsNow that we have global block, we should add:
* Global Lock / hide etc.
* Global Userrights
* local userrightsNow that we have global block, we should add:
* Global Lock / hide etc.
* Global Userrights
* local userrightsVersion 2.1Luke081515luke081515@tools.wmflabs.orgLuke081515luke081515@tools.wmflabs.orghttps://gitlab.wmflabs.org/Cygnus/Cygnus/-/issues/41Implement massmessage2017-12-20T21:33:13ZLuke081515luke081515@tools.wmflabs.orgImplement massmessageAPI-function massmessage should be implementedAPI-function massmessage should be implementedVersion 2.2https://gitlab.wmflabs.org/Cygnus/Cygnus/-/issues/42Implement purge2017-12-29T01:20:29ZLuke081515luke081515@tools.wmflabs.orgImplement purgeThe purge API-Function should get implementedThe purge API-Function should get implementedVersion 2.1Luke081515luke081515@tools.wmflabs.orgLuke081515luke081515@tools.wmflabs.orghttps://gitlab.wmflabs.org/Cygnus/Cygnus/-/issues/43Implement function "revisiondelete"2017-12-20T21:35:21ZLuke081515luke081515@tools.wmflabs.orgImplement function "revisiondelete"Write a function to use that API-functionWrite a function to use that API-functionVersion 2.2https://gitlab.wmflabs.org/Cygnus/Cygnus/-/issues/44Implement function "rollback"2017-12-30T23:53:26ZLuke081515luke081515@tools.wmflabs.orgImplement function "rollback"Implement a function to use this API-functionImplement a function to use this API-functionVersion 2.1https://gitlab.wmflabs.org/Cygnus/Cygnus/-/issues/45Implement function "setPageLanguage"2017-12-20T21:36:56ZLuke081515luke081515@tools.wmflabs.orgImplement function "setPageLanguage"Should be implemented to use that functionShould be implemented to use that functionVersion 2.2https://gitlab.wmflabs.org/Cygnus/Cygnus/-/issues/46Implement function "clientlogin"2017-12-20T21:38:45ZLuke081515luke081515@tools.wmflabs.orgImplement function "clientlogin"To support logging in via normal data without botpasswords.To support logging in via normal data without botpasswords.Version 2.2https://gitlab.wmflabs.org/Cygnus/Cygnus/-/issues/47Implement function "prop=deletedrevisions"2017-12-20T21:39:50ZLuke081515luke081515@tools.wmflabs.orgImplement function "prop=deletedrevisions"It should be possible to query deleted versionsIt should be possible to query deleted versionsVersion 2.2https://gitlab.wmflabs.org/Cygnus/Cygnus/-/issues/48Implement function "fileusage" / "globalusage"2017-12-20T21:40:44ZLuke081515luke081515@tools.wmflabs.orgImplement function "fileusage" / "globalusage"for querying file datafor querying file dataVersion 2.2https://gitlab.wmflabs.org/Cygnus/Cygnus/-/issues/49Implement function "pro=pageviews"2017-12-20T21:41:40ZLuke081515luke081515@tools.wmflabs.orgImplement function "pro=pageviews"Version 2.2https://gitlab.wmflabs.org/Cygnus/Cygnus/-/issues/50Implement function "list=alldeletedrevisions"2017-12-20T21:42:49ZLuke081515luke081515@tools.wmflabs.orgImplement function "list=alldeletedrevisions"For usage like: get all deleted revisions where the author is user xFor usage like: get all deleted revisions where the author is user xVersion 2.2https://gitlab.wmflabs.org/Cygnus/Cygnus/-/issues/51Implement list=checkuser / list=checkuserlog2017-12-20T21:43:24ZLuke081515luke081515@tools.wmflabs.orgImplement list=checkuser / list=checkuserlogVersion 2.2https://gitlab.wmflabs.org/Cygnus/Cygnus/-/issues/52Implement list=logevents2017-12-20T21:44:19ZLuke081515luke081515@tools.wmflabs.orgImplement list=logeventsto read out logs etc.to read out logs etc.Version 2.2https://gitlab.wmflabs.org/Cygnus/Cygnus/-/issues/53Implement list=usercontrib2017-12-20T21:45:46ZLuke081515luke081515@tools.wmflabs.orgImplement list=usercontribVersion 2.2https://gitlab.wmflabs.org/Cygnus/Cygnus/-/issues/56Write tutorial for Cygnus2017-12-25T22:21:14ZFreddyWrite tutorial for CygnusA tutorial with the basic functions of Cygnus (read, edit, ...) would be helpful for someA tutorial with the basic functions of Cygnus (read, edit, ...) would be helpful for somehttps://gitlab.wmflabs.org/Cygnus/Cygnus/-/issues/57Implement system to show API-Warnings2018-01-30T22:28:03ZLuke081515luke081515@tools.wmflabs.orgImplement system to show API-WarningsIf there are API warnings these should get shown to the user. Currently these warnings are not handeled.If there are API warnings these should get shown to the user. Currently these warnings are not handeled.Version 2.1Luke081515luke081515@tools.wmflabs.orgLuke081515luke081515@tools.wmflabs.orghttps://gitlab.wmflabs.org/Cygnus/Cygnus/-/issues/59Add functions to DBCore2018-06-11T09:29:51ZFreddyAdd functions to DBCoreSome functions for DBCoreSome functions for DBCoreVersion 2.2FreddyFreddyhttps://gitlab.wmflabs.org/Cygnus/Cygnus/-/issues/66Debug: better visualisation for null2018-01-13T22:33:44ZLuke081515luke081515@tools.wmflabs.orgDebug: better visualisation for nullIf any functions returns `null` that should get visualized instead of returning an empty row.If any functions returns `null` that should get visualized instead of returning an empty row.Version 2.1Luke081515luke081515@tools.wmflabs.orgLuke081515luke081515@tools.wmflabs.orghttps://gitlab.wmflabs.org/Cygnus/Cygnus/-/issues/67Debug: let the user retry2018-01-31T21:36:41ZLuke081515luke081515@tools.wmflabs.orgDebug: let the user retryIf you need to specify the function to debug, and you mistyped it, it would be useful if you can try it again without needing to relogin.If you need to specify the function to debug, and you mistyped it, it would be useful if you can try it again without needing to relogin.Version 2.1Luke081515luke081515@tools.wmflabs.orgLuke081515luke081515@tools.wmflabs.orghttps://gitlab.wmflabs.org/Cygnus/Cygnus/-/issues/68Echo useragent2018-01-05T22:18:39ZLuke081515luke081515@tools.wmflabs.orgEcho useragentTo find your bot at Special:ApiFeatureUsage, you need the useragent, so we should make it easy to find.To find your bot at Special:ApiFeatureUsage, you need the useragent, so we should make it easy to find.Version 2.1Luke081515luke081515@tools.wmflabs.orgLuke081515luke081515@tools.wmflabs.orghttps://gitlab.wmflabs.org/Cygnus/Cygnus/-/issues/69checkResult: Handle "protectedpage"2017-12-29T19:07:00ZLuke081515luke081515@tools.wmflabs.orgcheckResult: Handle "protectedpage"`protectedpage` is a common error code, and should get handeled as well.`protectedpage` is a common error code, and should get handeled as well.Version 2.1Luke081515luke081515@tools.wmflabs.orgLuke081515luke081515@tools.wmflabs.orghttps://gitlab.wmflabs.org/Cygnus/Cygnus/-/issues/71Replace unneeded whiles with for2018-01-13T22:33:44ZLuke081515luke081515@tools.wmflabs.orgReplace unneeded whiles with forwhile's that don't need to be while's should be for.while's that don't need to be while's should be for.Version 2.1Luke081515luke081515@tools.wmflabs.orgLuke081515luke081515@tools.wmflabs.orghttps://gitlab.wmflabs.org/Cygnus/Cygnus/-/issues/72Check if a page contains a template2018-01-16T21:05:14ZLuke081515luke081515@tools.wmflabs.orgCheck if a page contains a templateWrite a function that checks if a template is present on a page.Write a function that checks if a template is present on a page.Version 2.1Luke081515luke081515@tools.wmflabs.orgLuke081515luke081515@tools.wmflabs.orghttps://gitlab.wmflabs.org/Cygnus/Cygnus/-/issues/73Write a generic query continue2018-01-09T19:41:46ZLuke081515luke081515@tools.wmflabs.orgWrite a generic query continue!77 inspired me. What do you think of:
**A generic query continue!**
The concept itself is simple and nice, implementation may be not.
# What the function does
## Conditions for using
Query functions often have more results then the limit allows, so continue is needed. Currently the functions are doing this until all results are fetched. This may be useless if the user only needs 7000 for example.
## Calling it
Functions are reciving the continue. This continue has a name as well (if using rawcontinue, we may switch to the other continue), so the continue engine can get called, with the params `continuename `and `api-call url` at least. The function will start fetching everything then. It would be useful to implement that recursive, but PHP allows only 50 levels of recursive functions IIRC
# Nice additional features
The user can specify a limit, and the function tries to fetch as much as possible data, if [limit] > [limit of data to fetch in one request]. Then, the function will continue, until the limit is reached.
Please share your opinion on this proposal with me.!77 inspired me. What do you think of:
**A generic query continue!**
The concept itself is simple and nice, implementation may be not.
# What the function does
## Conditions for using
Query functions often have more results then the limit allows, so continue is needed. Currently the functions are doing this until all results are fetched. This may be useless if the user only needs 7000 for example.
## Calling it
Functions are reciving the continue. This continue has a name as well (if using rawcontinue, we may switch to the other continue), so the continue engine can get called, with the params `continuename `and `api-call url` at least. The function will start fetching everything then. It would be useful to implement that recursive, but PHP allows only 50 levels of recursive functions IIRC
# Nice additional features
The user can specify a limit, and the function tries to fetch as much as possible data, if [limit] > [limit of data to fetch in one request]. Then, the function will continue, until the limit is reached.
Please share your opinion on this proposal with me.Version 2.2https://gitlab.wmflabs.org/Cygnus/Cygnus/-/issues/75Put generic API-params in a function2018-01-30T12:43:13ZLuke081515luke081515@tools.wmflabs.orgPut generic API-params in a functionEach function needs maxlag. Each function needs assert, or at least most. It would be nice if we can put this to a function that get called on each api-call.Each function needs maxlag. Each function needs assert, or at least most. It would be nice if we can put this to a function that get called on each api-call.Version 2.2Luke081515luke081515@tools.wmflabs.orgLuke081515luke081515@tools.wmflabs.orghttps://gitlab.wmflabs.org/Cygnus/Cygnus/-/issues/81Ban serialized arrays as return value2018-01-12T23:53:10ZLuke081515luke081515@tools.wmflabs.orgBan serialized arrays as return valueSerialized Arrays as return value are bad. The user needs to take care of the API-Answer then. The function should do that for him instead.
Current functions using serialized Arrays:
* [ ] `movePage()`
* [ ] `getCatMembers()`
* [ ] `getPageCats()`
* [ ] `getAllEmbedings()`
* [ ] `getAllPages()`Serialized Arrays as return value are bad. The user needs to take care of the API-Answer then. The function should do that for him instead.
Current functions using serialized Arrays:
* [ ] `movePage()`
* [ ] `getCatMembers()`
* [ ] `getPageCats()`
* [ ] `getAllEmbedings()`
* [ ] `getAllPages()`Version 2.2https://gitlab.wmflabs.org/Cygnus/Cygnus/-/issues/82Implement action=clientlogin2018-01-13T00:12:33ZLuke081515luke081515@tools.wmflabs.orgImplement action=clientloginSee #31 for the original issue. We maybe want to implement action=clientloginSee #31 for the original issue. We maybe want to implement action=clientloginVersion 2.2https://gitlab.wmflabs.org/Cygnus/Cygnus/-/issues/84Get created pages2018-06-16T23:59:02ZLuke081515luke081515@tools.wmflabs.orgGet created pagesWe should make the bot able to get the list of user contribs. For version 2.1 I will start with created pages.We should make the bot able to get the list of user contribs. For version 2.1 I will start with created pages.Version 2.1Luke081515luke081515@tools.wmflabs.orgLuke081515luke081515@tools.wmflabs.orghttps://gitlab.wmflabs.org/Cygnus/Cygnus/-/issues/85Move echo to Core2018-03-28T21:49:04ZLuke081515luke081515@tools.wmflabs.orgMove echo to CoreDebug.php contains some echo functions which are ensuring that a definied set of colors is used in console, this makes it easier for the user to see what the script wants etc.
Do you think it would be useful to move that to core? then script writer can use that as well.Debug.php contains some echo functions which are ensuring that a definied set of colors is used in console, this makes it easier for the user to see what the script wants etc.
Do you think it would be useful to move that to core? then script writer can use that as well.Version 2.1Luke081515luke081515@tools.wmflabs.orgLuke081515luke081515@tools.wmflabs.orghttps://gitlab.wmflabs.org/Cygnus/Cygnus/-/issues/90Check if a username looks like an IP2018-02-11T12:08:01ZLuke081515luke081515@tools.wmflabs.orgCheck if a username looks like an IPSee https://gitlab.wmflabs.org/Cygnus/Cygnus/issues/11#note_854See https://gitlab.wmflabs.org/Cygnus/Cygnus/issues/11#note_854Version 2.2https://gitlab.wmflabs.org/Cygnus/Cygnus/-/issues/96Add a space to ask2018-03-31T16:42:50ZLuke081515luke081515@tools.wmflabs.orgAdd a space to askIt would be useful, now that people needs to change from askOperator to ask anyway, to add a space in ask to the end of the msg by default, since you don't want to have the input directly after your question.It would be useful, now that people needs to change from askOperator to ask anyway, to add a space in ask to the end of the msg by default, since you don't want to have the input directly after your question.Version 2.1Luke081515luke081515@tools.wmflabs.orgLuke081515luke081515@tools.wmflabs.orghttps://gitlab.wmflabs.org/Cygnus/Cygnus/-/issues/97Take assert to the password2018-06-11T09:29:31ZLuke081515luke081515@tools.wmflabs.orgTake assert to the passwordMost accounts have a botflag or not, so it would be useful to set the assert value with the account credentials in Password.phpMost accounts have a botflag or not, so it would be useful to set the assert value with the account credentials in Password.phpVersion 2.2https://gitlab.wmflabs.org/Cygnus/Cygnus/-/issues/98Ensure user is logged in2018-06-11T09:29:21ZLuke081515luke081515@tools.wmflabs.orgEnsure user is logged inEnsure that the user is still logged in, or do a relogin.Ensure that the user is still logged in, or do a relogin.Version 2.2