All Projects → stjohann → DiscordWikiBot

stjohann / DiscordWikiBot

Licence: MIT license
Discord bot for Wikimedia projects and MediaWiki wiki sites

Programming Languages

C#
18002 projects

Projects that are alternatives of or similar to DiscordWikiBot

Mediawiki
🌻 The collaborative editing software that runs Wikipedia. Mirror from https://gerrit.wikimedia.org/g/mediawiki/core. See https://mediawiki.org/wiki/Developer_access for contributing.
Stars: ✭ 2,752 (+9073.33%)
Mutual labels:  mediawiki, wikipedia, wikimedia
Wikipedia Mirror
🌐 Guide and tools to run a full offline mirror of Wikipedia.org with three different approaches: Nginx caching proxy, Kimix + ZIM dump, and MediaWiki/XOWA + XML dump
Stars: ✭ 160 (+433.33%)
Mutual labels:  mediawiki, wikipedia
Infoboxer
Wikipedia information extraction library
Stars: ✭ 147 (+390%)
Mutual labels:  mediawiki, wikipedia
discord-wiki-bot
Wiki-Bot is a bot with the purpose to easily search for and link to wiki pages. Wiki-Bot shows short descriptions and additional info about the pages and is able to resolve redirects and follow interwiki links.
Stars: ✭ 69 (+130%)
Mutual labels:  mediawiki, wikipedia
Mediawiker
Mediawiker is a plugin for Sublime Text editor that adds possibility to use it as Wiki Editor on Mediawiki based sites like Wikipedia and many other.
Stars: ✭ 120 (+300%)
Mutual labels:  mediawiki, wikipedia
Mwoffliner
Scrape any online Mediawiki motorised wiki (like Wikipedia) to your local filesystem
Stars: ✭ 121 (+303.33%)
Mutual labels:  mediawiki, wikipedia
Mwclient
Python client library to interface with the MediaWiki API
Stars: ✭ 221 (+636.67%)
Mutual labels:  mediawiki, wikipedia
Jwiki
📖 A library for effortlessly interacting with Wikipedia/MediaWiki
Stars: ✭ 69 (+130%)
Mutual labels:  mediawiki, wikipedia
vicuna
Tool for uploading files to Wikimedia Commons and other Wikimedia projects
Stars: ✭ 36 (+20%)
Mutual labels:  mediawiki, wikimedia
wikibot
Some MediaWiki bot examples including wikipedia, wikidata using MediaWiki module of CeJS library. 採用 CeJS MediaWiki 自動化作業用程式庫來製作 MediaWiki (維基百科/維基數據) 機器人的範例。
Stars: ✭ 26 (-13.33%)
Mutual labels:  mediawiki, wikipedia
Spell4Wiki
Spell4Wiki is a mobile application to record and upload audio for Wiktionary words to Wikimedia commons. Also act as a Wiki-Dictionary.
Stars: ✭ 17 (-43.33%)
Mutual labels:  wikipedia, wikimedia
Apps Android Wikipedia
📱The official Wikipedia app for Android!
Stars: ✭ 1,350 (+4400%)
Mutual labels:  mediawiki, wikipedia
Linq To Wiki
.Net library to access MediaWiki API
Stars: ✭ 93 (+210%)
Mutual labels:  mediawiki, wikipedia
Huggle3 Qt Lx
Huggle is an anti-vandalism tool for use on MediaWiki based projects
Stars: ✭ 143 (+376.67%)
Mutual labels:  mediawiki, wikipedia
Mediawiki
MediaWiki API wrapper in python http://pymediawiki.readthedocs.io/en/latest/
Stars: ✭ 89 (+196.67%)
Mutual labels:  mediawiki, wikipedia
wikiapi
JavaScript MediaWiki API for node.js
Stars: ✭ 28 (-6.67%)
Mutual labels:  mediawiki, wikipedia
Wikiteam
Tools for downloading and preserving wikis. We archive wikis, from Wikipedia to tiniest wikis. As of 2020, WikiTeam has preserved more than 250,000 wikis.
Stars: ✭ 404 (+1246.67%)
Mutual labels:  mediawiki, wikipedia
Mwparserfromhell
A Python parser for MediaWiki wikicode
Stars: ✭ 440 (+1366.67%)
Mutual labels:  mediawiki, wikipedia
cassandra-GLAM-tools
Support GLAMs in monitoring and evaluating their cooperation with Wikimedia projects
Stars: ✭ 17 (-43.33%)
Mutual labels:  mediawiki, wikipedia
pageviews
Pageviews Analysis tool for Wikimedia Foundation wikis
Stars: ✭ 95 (+216.67%)
Mutual labels:  wikipedia, wikimedia

DiscordWikiBot

DiscordWikiBot [ˈdɪskɔːdˈwiːkibɒt] is a Discord bot that transforms [[wiki]] and {{template}} links in chat messages into actual links using MediaWiki APIs, and informs about recent changes in Wikimedia projects and on Translatewiki.net. It supports editing and deleting its own messages. It was originally developed for the Discord server of Russian Wikipedians. A private instance of the bot is available for Discord servers of Wikimedia communities.

DiscordWikiBot is cross-platform console app built with .NET Core. It uses DSharpPlus, WikiClientLibrary, and EvtSource for most of heavy lifting. Its code is published under MIT licence.

Installation

  1. Download the source files.
  2. Create token.txt in project folder with a private token for your Discord bot. If you haven’t created your own Discord bot, create it first. Do not share your private token.
  3. Change config.json to your needs according to instructions there.
  4. Add eventStreams.json file containing only {} to the folder with config.json if you intend to use recent changes streams (Wikimedia projects only).
  5. Compile the bot’s binaries using any compiler that supports .NET Core (use IDEs like Visual Studio or MonoDevelop or dotnet CLI).

Important: When developing or updating the bot, take care of the folder where the application is compiled. That’s where eventStreams.json and overrides.json are being stored when running it, and if you clean the folder accidentally, all the data will get lost.

Configuration

The version in this repository is configured for Russian Wikipedia by default. Your instance of the bot can change this by changing values in config.json. Below is a short documentation for every available variable (remove lines starting with // if you’re going to copy from here). Required parameters are marked.

{
	// Link to the bot’s source code
	"repo":  "<https://github.com/stjohann/DiscordWikiBot> (C# / MIT)",

	// Default domain for recent changes streams (only Wikimedia projects work here)
	"domain": "ru.wikipedia.org",
	
	// REQUIRED: Default language of the bot
	"lang": "ru",

	// REQUIRED: Default wiki link configuration
	"wiki": "https://ru.wikipedia.org/wiki/$1"
}

Most variables in config.json can be overridden per server by members with ‘Manage server’ permission.

Usage

When the bot is enabled, it will transform [[link syntax]] to real URLs to the pages of your wiki or its interwiki links, and will transform {{template syntax}} to real URLs to the templates of your wiki. To stop the bot from reacting to links in your message, wrap it into ` (`[[example]]`) or escape [[ symbols (with \ before them).

DiscordWikiBot can be configured per server by server members with ‘Manage server’ permission. Available configuration includes the language of the bot, the default wiki URL, recent changes streams parameters etc. Up-to-date instructions for configuration of the bot are provided on Meta-Wiki.

Versioning

DiscordWikiBot uses semver for versioning:

  • Major versions (X.0.0) are changes that remove backwards-compatibility of any of the configuration files, including introducing new expectations from bot owners.
  • Minor versions (0.X.0) are changes that introduce new features to the bot.
  • Patch versions (0.0.X) are changes that fix existing code without introducing new features.
  • Third-party bot maintainers can be expected to update the bot to minor/patch versions without any required changes.

Pull requests should, if possible, include a change in DiscordWikiBot/DiscordWikiBot.csproj file with an appropriate version change.

Translations

Translations are done by volunteers on translatewiki.net. Pull requests with simple translation changes will not be accepted (except for en.json).

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].