For years, I have documented all the issues and feature requests in my personal bug tracker. This mega-issue is created in an effort to open up this list and to facilitate outside contributions to the library, while not getting myself bogged down in documenting every single bug and feature request.
Please note that the list here is mostly not vetted for validity, and I can change my mind on whether to accept pull requests resolving them. All items starting with Bug: can be safely resolved by outside contributors. Items starting with Controversial: will probably require some discussion and PRs for them are not guaranteed to be accepted fast.
If you have noticed a bug or have a feature request, either create a new issue with a detailed description for it or write a comment here.
[ ] Bug: Sometimes TranslateWiki.cs code can send the messages twice to the same channel
[ ] Bug: [[Unsupported titles/:)]] [[:)]] [[)]] [[=)]] are not rendering correct links
[ ] Bug: [[[🌹]]](<https://ru.wikipedia.org/wiki/🌹>) doesn’t render as a link
[ ] Bug: https://ru.m.wikipedia.org/wiki/Обсуждение_участника:Matsievsky#Добавление_ссылок_в_{{lang-en}}_и_{{lang-ja}} should not get a link response
[ ] Bug: [[Grants:Programs/Wikimedia_Community_Fund#General_Support_Fund]] does not get link response because #general is an extremely common Discord channel name
[ ] Bug: TranslateWiki.cs code can have problems with getting out of limit of 1024 characters sometimes
[ ] Bug: !help can fail if the command documentation in a language is too long and gets out of limit of 2048 (?) characters
[ ] Bug: Since the bot can run for weeks if undisturbed, provide a way to update stored wiki site data
[ ] Bug: API requests for user pages (for gender support) should be done better (bundled in one request and done per user)
[ ] Bug: Linking.Remove should be re-implemented
[ ] Bug: Introduce a way to change bot’s User-Agent string from config.json (and make it mandatory to set one)
[ ] Bug: Add special pages localisation, like in MediaWiki
[ ] Bug: [[:az:voy:]] etc. should return a link without "Main page" appended to it
[ ] Bug: !serverDomain should not be a thing if EventStreams are disabled
[ ] Add namespace=all to EventStreams, but have some way for the bot owner to allow/deny using it on a server
[ ] Support {{fullurl:}} / {{localurl:}} in Linking.cs
[ ] Controversial: Add !channelDomain like already done with !channelWiki
[ ] Interwiki links where title starts with capital letter and has no namespaces can drop API requests for full siteinfo
[ ] Code cleanup: Add a method for Locale.GetMessage that accepts a language and returns a method to get locale info without specifying (the same) language
[ ] Add an optional ability to enable bot responses to bot messages (!serverRespondToBots?)
[ ] Code cleanup: Write unit tests for more bot responses
[ ] Add !search command to allow correct linking to complex wiki searches like insource:"class" insource:"messagebox" insource:/messagebox/ prefix:all: (some of which can be denied by MediaWiki invalid title rules)
[ ] Add command !link [[test]] [[second test]] that would return link response with embeds (for up to 3)
[ ] Add command !linkfile [[File:Example.png]] [[File:MediaWiki.png]] (or do it as part of !link) that would return link response with proper embeds (for up to 3)
[ ] Add command !linkdiff [[Special:Diff/…]] (or do it as part of !link) that would return diff info like from EventStreams (for up to 3)
[ ] Add lazy checks on redirects (redirect=no or resolve?) and page existence to the bot
[ ] Controversial: Should [[google:test meow]] be hard-coded to resolve correctly?
[ ] MediaWiki invalid title rules should be handled by siteinfo API for the wiki instead of hard-coding it in the bot
[ ] Controversial: Files from Wikimedia Commons or other common media repo should get direct links to Wikimedia Commons pages
[ ] [[Wikipedia talk:Twinkle/Development#Using the [rollback] or [vandalism] button in Contributions]] does not get link response due to MediaWiki invalid title rules (including in MediaWiki)
[ ] Links to Wikidata/Wikibase pages should have labels in current server language next to them
[ ] Controversial: Drop code for Translatewiki data conversion and release a new major version because of it (only with other breaking changes)
[ ] Media: file names return their full file URL in MediaWiki
[ ] Code cleanup: Write Config methods that take DiscordServer/DiscordGuild for simplicity, or refactor current ones
[ ] Provide desktop links to mobile links posted by users
These are issues that have been resolved by community members, compiled in a list here to show the appreciation of their work. If you feel like your contribution is missing from here, feel free to remind me of it here or via Discord DMs. A valid contribution is an adopted technical proposal or contributed code, either formally (via PRs) or informally (via Discord chats).
[x] Append underscore if title ends with a full stop (#20)
[x] Hide links that are located inside spoiler blocks (#18)
DiscordWikiBot is also continuously improved by the translators on Translatewiki.net and (previously) on Github.
For years, I have documented all the issues and feature requests in my personal bug tracker. This mega-issue is created in an effort to open up this list and to facilitate outside contributions to the library, while not getting myself bogged down in documenting every single bug and feature request.
Please note that the list here is mostly not vetted for validity, and I can change my mind on whether to accept pull requests resolving them. All items starting with Bug: can be safely resolved by outside contributors. Items starting with Controversial: will probably require some discussion and PRs for them are not guaranteed to be accepted fast.
If you have noticed a bug or have a feature request, either create a new issue with a detailed description for it or write a comment here.
[[Unsupported titles/:)]] [[:)]] [[)]] [[=)]]
are not rendering correct links[[[🌹]]](<https://ru.wikipedia.org/wiki/🌹>)
doesn’t render as a linkhttps://ru.m.wikipedia.org/wiki/Обсуждение_участника:Matsievsky#Добавление_ссылок_в_{{lang-en}}_и_{{lang-ja}}
should not get a link response[[Grants:Programs/Wikimedia_Community_Fund#General_Support_Fund]]
does not get link response because#general
is an extremely common Discord channel name!help
can fail if the command documentation in a language is too long and gets out of limit of 2048 (?) charactersLinking.Remove
should be re-implementedconfig.json
(and make it mandatory to set one)[[:az:voy:]]
etc. should return a link without "Main page" appended to it!serverDomain
should not be a thing if EventStreams are disablednamespace=all
to EventStreams, but have some way for the bot owner to allow/deny using it on a server{{fullurl:}}
/{{localurl:}}
in Linking.cs!channelDomain
like already done with!channelWiki
Locale.GetMessage
that accepts a language and returns a method to get locale info without specifying (the same) language!serverRespondToBots
?)!search
command to allow correct linking to complex wiki searches likeinsource:"class" insource:"messagebox" insource:/messagebox/ prefix:all:
(some of which can be denied by MediaWiki invalid title rules)!link [[test]] [[second test]]
that would return link response with embeds (for up to 3)!linkfile [[File:Example.png]] [[File:MediaWiki.png]]
(or do it as part of!link
) that would return link response with proper embeds (for up to 3)!linkdiff [[Special:Diff/…]]
(or do it as part of!link
) that would return diff info like from EventStreams (for up to 3)redirect=no
or resolve?) and page existence to the bot[[google:test meow]]
be hard-coded to resolve correctly?siteinfo
API for the wiki instead of hard-coding it in the bot[[Wikipedia talk:Twinkle/Development#Using the [rollback] or [vandalism] button in Contributions]]
does not get link response due to MediaWiki invalid title rules (including in MediaWiki)Media:
file names return their full file URL in MediaWikiConfig
methods that takeDiscordServer
/DiscordGuild
for simplicity, or refactor current onesSpecial:MyLanguage/
links, like in jhsoby/telegram-wikilinksbotSee other open issues as well.
Acknowledgements
These are issues that have been resolved by community members, compiled in a list here to show the appreciation of their work. If you feel like your contribution is missing from here, feel free to remind me of it here or via Discord DMs. A valid contribution is an adopted technical proposal or contributed code, either formally (via PRs) or informally (via Discord chats).
DiscordWikiBot is also continuously improved by the translators on Translatewiki.net and (previously) on Github.