/telegrindr

A Telegram bot to bring a Grindr-like experience to your groups. Except for the freemium policy, that is.

Primary LanguageJavaGNU General Public License v3.0GPL-3.0

TeleGrindr

Logo

Introduction

A Telegram bot to bring a Grindr-like experience to your groups. Except for the freemium policy, that is.

Features

  • /start asks the bot to introduce itself.
  • /help gets a description of the usage of TeleGrindr's characterizing commands (not the ones related to basic bot administration).
  • /iam {arguments} helps a group member to set up their profile, and prints the updated data. If you send a location to other users, TeleGrindr will set that as your current position.
  • /howis @username can get the profile of any user in the group.
  • /whois {arguments} returns a list of all the users. You can use many filters based on your needs. The bot also inherits the standard commands defined by the Telegram Bot Java Library's AbilityBot. These features are also useful for basic bot administration.

User setup

Talking to BotFather

After asking BotFather to create a /newbot, you should:

  1. /setname (you may use "TeleGrindr")
  2. /setdescription (you may use this)
  3. /setabouttext (you may use "The crossover nobody was waiting for.")
  4. /setuserpic (you may use this)
  5. /setcommands

start - short introduction
help - prints a short guide
iam - edits your profile
howis - displays a profile
whois - searches for profiles
commands - lists every command
ban - bans a user from using this bot (admin)
unban - lifts the ban from the user (admin)
promote - promotes user to bot admin (admin)
demote - demotes bot admin to user (admin)
stats - shows bot stats (admin)
claim - claims this bot (creator)
backup - backups the bot's database (creator)
recover - recovers the bot's database (creator)
report - lists only TeleGrindr-specific commands (creator)

Prerequisites

  • any Java Development Kit

Dependencies

Usage

Without Docker

After building the project using Main as your main class, you can launch it. Your environment needs to provide three arguments:

  1. the bot's token
  2. the bot's username
  3. the bot's creator's identifier
    For example, if you got a single executable JAR file named telegrindr.jar in your current directory, you can run it from Bash like this:
$ java -jar telegrindr.jar 123456:ABC-DEF1234ghIkl-zyx57W2v1u123ew11 telegrindrBot 1234567890

With Docker

In Bash, you can build your image like this:

# docker build . -t telegrindr

Then, you can run it:

$ docker run --rm -v ./path/to/local/dir:. -it \
-eTOKEN_ID=123456:ABC-DEF1234ghIkl-zyx57W2v1u123ew11 \
-eUSERNAME=telegrindrBot \
-eCREATOR_ID=1234567890 \
telegrindr