Skip to content

GrammarNazi Telegram Bot

Nelson Minaya edited this page Jan 20, 2021 · 6 revisions

This bot analyzes each message that is sent in a Telegram chat, and if it finds any spelling mistake, it responds to the message with its corrections using the asterisk symbol (*).

Features

  • Configurable grammar analyzer algorithm or provider.
  • Multiple language support (English and Spanish).
  • Strictness Level.
  • Whitelist Words.

Commands

The bot has a lot of configurability. When you wan't to get a quick resume of all commands, use the /help command.

/help

This command will list the main commands with a quick description of its functionality.

/stop

This command will stop the Bot of analyzing the messages.

/start

This command will resume the Bot functionality if it was stopped.

/settings

This command will list the configured settings for the bot in the current chat.

/set_algorithm

This command is for setting a Grammar Algorithm. It will show up Algorithm options to select.

/set_algorithm

Currently the bot has 4 grammar algorithms:

  1. Internal Algorithm (BETA): This is our own grammar algorithm based on our dictionary.
  2. LanguageTool API: This is based on https://languagetool.org/
  3. YandexSpeller API: This is based on https://yandex.ru/dev/speller/
  4. Datamuse API: This is based on http://www.datamuse.com/

The algorithms are enumerated, so each one has his coresponding number. You also can set an algorithm typing:

/set_algorithm <algorithm_number>

Example:

/set_algorithm 1

This will set the bot to use the Internal Algorithm (BETA) for the current chat.

/lang

This command is for setting a language. It will show up language options to select.

/lang

Currently the bot supports 2 languages:

  1. Auto
  2. English
  3. Spanish

The languages are enumerated, so each one has his coresponding number. You can also set an language typing:

/lang <language_number>

Example:

/lang 1

This will set the bot to use the language English for the current chat.

/hide_details

A correction has a message with details about it. You can hide those details with this command.

/show_details

Show correction details.

/tolerant

The bot has Strictness levels for corrections. The Tolerant Strictness level will ignore some basic common spelling mistakes.

/intolerant

The Intolerant Strictness corrects every single possible error found.

/whitelist

You can have a list of ignored words. This command will list the list of ignored words for the current chat.

/add_whitelist

Add a word to the whitelist of the current chat. Use: /add_whitelist <word>

/remove_whitelist

Remove a word from the whitelist of the current chat. Use: /remove_whitelist <word>