PEMEM

@pemem_bot →

Telegram bot · group game

Chess in your group chat, inside a single message

Add the PEMEM bot to your Telegram group and type /chess. The board is drawn right there in the chat as 8×8 inline buttons, so nobody has to install an app, open a website or sign up for anything.

Where you play
In a Telegram group
The board
8×8 inline buttons
Rules
Full chess
Points
Win +2 · Draw +1

What PEMEM is

PEMEM is a chess bot you play inside a Telegram group. Playing a game with your friends needs no outside app, no website and no registration: the bot sits in the group, and the game happens in the same group chat where everyone was already talking.

Type /chess in the group and the bot posts one message. The whole game then runs inside that message. The board is drawn as 8×8 inline buttons, and each move edits the existing message rather than sending a new one. That is why a game does not leave dozens of messages behind it — the conversation stays clean until the last move.

The bot is built for groups of friends, work team chats and people who like chess. The two players watch each other’s moves land in real time, and everyone else in the group can follow along if they feel like it.

What it actually fixes

You never leave the chat

Wanting a game in the middle of a group conversation normally means an outside app or a website, an account on it and a link passed around before anyone can move a piece. With PEMEM the game is in the group itself — typing /chess is the whole setup.

The group does not fill up with messages

If every move arrived as a message of its own, one game would bury the chat. PEMEM keeps the whole game in a single message: a move edits that message, and nothing new is posted.

The bot enforces the rules, not a person

Castling, en passant, pawn promotion, check, checkmate and the drawn positions are all checked by the bot itself. Try a move the rules do not allow and the board simply refuses it, answering “Noto’g’ri yurish.” — Uzbek for “illegal move”.

Wins are recorded

When a game ends, the result is written against the player who earned it. The /score command shows your points and your wins, losses and draws whenever you ask for them.

How to start

  1. Find @pemem_bot

    Search for @pemem_bot in Telegram, or open the bot link directly.

  2. Add the bot to a group

    The game only runs in a group, so add the bot to the group you want to play in.

  3. Admin rights are not needed

    You do not have to grant the bot any extra permissions — it works as an ordinary member.

  4. Type /chess in the group

    The bot posts the lobby message: “⚪ Oq: bo’sh / ⚫ Qora: bo’sh”, meaning White and Black are both still empty, with a button for each color.

  5. Two people pick a color

    One taps [⚪ Oq], the other taps [⚫ Qora] — the game starts by itself and that message turns into the board.

  6. Optional: open it on the web

    The [🔎 Web’da ochish] button shows the board as a full-screen web page.

What a game looks like

The messages and buttons below are the bot’s real output, not rewritten for this page. PEMEM writes in Uzbek only, so the text stays exactly as it comes out and the English around it explains what each screen says. The board is not a picture: every square is a separate button.

A full game: from /chess to the first move

Typing /chess in the group makes the bot post a lobby message. Once two people have claimed a color the game starts on its own and that same message turns into the board, so every stage below is one message edited over and over. In the header “⚪ Oq” is White, “⚫ Qora” is Black, “bo’sh” means the seat is still empty and “Oqning yurishi” means White is to move. The closing line “O’ynash uchun rang tanlang” asks the group to pick a color, and the “0 ball” beside a name is that player’s score.

  1. Aziz types /chess in the group and the bot posts the lobby message.
  2. Aziz taps [⚪ Oq] to take White: the message is edited and his name and score appear beside the color.
  3. Bekzod taps [⚫ Qora] — the game starts automatically and that message becomes the board.
  4. Aziz taps the pawn on e2: the square turns into 🔸♙ and the squares it can move to light up 🟢.
  5. Aziz taps a 🟢 square, the move is played, and the ▶️ marker moves across to Bekzod.

Friends group

group

Aziz

/chess

PEMEM

♟ PEMEM Chess

⚪ Oq: bo’sh ⚫ Qora: bo’sh

O’ynash uchun rang tanlang 👇

  • ⚪ Oq (bo’sh)
  • ⚫ Qora (bo’sh)
  • 🔎 Web’da ochish

PEMEM

♟ PEMEM Chess

⚪ Oq: Aziz — 0 ball ⚫ Qora: bo’sh

O’ynash uchun rang tanlang 👇

  • ⚪ Oq (@aziz)
  • ⚫ Qora (bo’sh)
  • 🔎 Web’da ochish

PEMEM

♟ PEMEM Chess ▶️ ⚪ Aziz — 0 ball ⚫ Bekzod — 0 ball Oqning yurishi

  • ♜
  • ♞
  • ♝
  • ♛
  • ♚
  • ♝
  • ♞
  • ♜
  • ♟
  • ♟
  • ♟
  • ♟
  • ♟
  • ♟
  • ♟
  • ♟
  • ▫️
  • ▪️
  • ▫️
  • ▪️
  • ▫️
  • ▪️
  • ▫️
  • ▪️
  • ▪️
  • ▫️
  • ▪️
  • ▫️
  • ▪️
  • ▫️
  • ▪️
  • ▫️
  • ▫️
  • ▪️
  • ▫️
  • ▪️
  • ▫️
  • ▪️
  • ▫️
  • ▪️
  • ▪️
  • ▫️
  • ▪️
  • ▫️
  • ▪️
  • ▫️
  • ▪️
  • ▫️
  • ♙
  • ♙
  • ♙
  • ♙
  • ♙
  • ♙
  • ♙
  • ♙
  • ♖
  • ♘
  • ♗
  • ♕
  • ♔
  • ♗
  • ♘
  • ♖

PEMEM

♟ PEMEM Chess ▶️ ⚪ Aziz — 0 ball ⚫ Bekzod — 0 ball Oqning yurishi

  • ♜
  • ♞
  • ♝
  • ♛
  • ♚
  • ♝
  • ♞
  • ♜
  • ♟
  • ♟
  • ♟
  • ♟
  • ♟
  • ♟
  • ♟
  • ♟
  • ▫️
  • ▪️
  • ▫️
  • ▪️
  • ▫️
  • ▪️
  • ▫️
  • ▪️
  • ▪️
  • ▫️
  • ▪️
  • ▫️
  • ▪️
  • ▫️
  • ▪️
  • ▫️
  • ▫️
  • ▪️
  • ▫️
  • ▪️
  • 🟢
  • ▪️
  • ▫️
  • ▪️
  • ▪️
  • ▫️
  • ▪️
  • ▫️
  • 🟢
  • ▫️
  • ▪️
  • ▫️
  • ♙
  • ♙
  • ♙
  • ♙
  • 🔸♙
  • ♙
  • ♙
  • ♙
  • ♖
  • ♘
  • ♗
  • ♕
  • ♔
  • ♗
  • ♘
  • ♖

PEMEM

♟ PEMEM Chess ⚪ Aziz — 0 ball ▶️ ⚫ Bekzod — 0 ball Qoraning yurishi

  • ♜
  • ♞
  • ♝
  • ♛
  • ♚
  • ♝
  • ♞
  • ♜
  • ♟
  • ♟
  • ♟
  • ♟
  • ♟
  • ♟
  • ♟
  • ♟
  • ▫️
  • ▪️
  • ▫️
  • ▪️
  • ▫️
  • ▪️
  • ▫️
  • ▪️
  • ▪️
  • ▫️
  • ▪️
  • ▫️
  • ▪️
  • ▫️
  • ▪️
  • ▫️
  • ▫️
  • ▪️
  • ▫️
  • ▪️
  • ♙
  • ▪️
  • ▫️
  • ▪️
  • ▪️
  • ▫️
  • ▪️
  • ▫️
  • ▪️
  • ▫️
  • ▪️
  • ▫️
  • ♙
  • ♙
  • ♙
  • ♙
  • ▫️
  • ♙
  • ♙
  • ♙
  • ♖
  • ♘
  • ♗
  • ♕
  • ♔
  • ♗
  • ♘
  • ♖

When a pawn reaches the last rank

A pawn that reaches the far rank makes the bot ask what to promote it to, and the choice is four buttons. The line reads “♟ Piyoda o’zgartirilsin — figurani tanlang:”, which is Uzbek for “promote the pawn — pick a piece”.

Friends group

group

PEMEM

♟ Piyoda o’zgartirilsin — figurani tanlang:

  • ♛
  • ♜
  • ♝
  • ♞

Checking your points

The /score command works in a group and in a private chat with the bot alike. A reply looks like the one below: “Sizning natijangiz” is your total in points, and the second line counts your wins, losses and draws in that order.

@pemem_bot

bot

/score

📊 Sizning natijangiz: 7 ochko ✅ 3 g’alaba · ❌ 2 mag’lubiyat · 🤝 1 durang

The common mistake: typing /chess in a private chat

Games only happen in groups. Message the bot directly with /chess and it tells you what to do instead, which is the confusion people run into most. The Uzbek alert says that PEMEM Chess is played in groups only, and asks you to add the bot to a group and type /chess there.

@pemem_bot

bot

/chess

Pop-up window from the bot: ♟ PEMEM Chess faqat guruhlarda o’ynaladi. Meni bir guruhga qo’shing va u yerda /chess yozing.

The common mistake: it is not your turn

Tap a piece while your opponent is still thinking and the board does not change. You get a pop-up that nobody else in the group sees, reading “Navbat raqibingizda.” — “it is your opponent’s turn”.

Friends group

group

Pop-up window from the bot: Navbat raqibingizda.

How a game ends

The state is shown on the last line of the message header. In Uzbek “Shoh” is check, “Mat” is checkmate with the winner’s name after “G’olib”, “Pat” is stalemate and “Durang” is a draw.

StateHeader line
Check⚠️ Shoh!
Checkmate🏆 Mat! G’olib: <Ism>
Stalemate🤝 Pat — durang
Draw🤝 Durang

How the bot warns you

None of these replies are posted into the group. Each one appears as a pop-up for the single person who tapped the button, and only for them. The bot writes them in Uzbek; the left column names the situation each one covers.

SituationWhat the bot says
/chess in a private chat♟ PEMEM Chess faqat guruhlarda o’ynaladi. Meni bir guruhga qo’shing va u yerda /chess yozing.
The color is takenBu rang allaqachon band.
You are not a playerSiz bu o’yinning o’yinchisi emassiz.
Not your turnNavbat raqibingizda.
Against the rulesNoto’g’ri yurish.
The game is overO’yin tugagan.

How points are counted

Every finished game writes its result against the players. A score cannot go negative: if you are sitting on zero, a loss leaves you on zero.

Win
+2
Draw
+1
Loss
−1

Points belong to the player, not to the group the game was played in. The /score command shows the running total.

Commands

CommandWhere it worksWhat it does
/chessgroups onlyOpens the lobby for a new game
/scoregroup and private chatPoints and statistics
/ratinggroup and private chatAn alias for /score (not in the menu)
/start, /helpgroup and private chatThe help text

Telegram’s command menu lists only three of them, described in Uzbek: chess — “Shaxmat o’yinini boshlash” (start a chess game), score — “Ochkongizni ko’rish” (see your points), help — “Yordam” (help). There are no admin commands.

What it can do

The whole game in one message

The board is drawn with inline buttons and every move edits the message. From the first move to the last, the group holds exactly one PEMEM message.

Full chess rules

Castling, en passant, pawn promotion, check, checkmate, stalemate, insufficient material and the fifty-move draw are all supported.

A chess engine written from scratch

No off-the-shelf chess library is involved. The engine is the project’s own code, and it was checked against perft depth 4 = 197 281, which means its move generation follows the rules exactly.

A board that shows you the moves

Tap a piece and every empty square it can reach is marked 🟢, while an enemy piece you can capture is marked ♟💥. The square you picked is flagged with 🔸.

Points and statistics

A win is +2, a loss is −1 (a score never drops below zero) and a draw is +1. Points belong to the player, not to the group.

Telegram Mini App

The [🔎 Web’da ochish] button in the lobby (“open on the web”) shows the board as a full-screen web page. It is optional: the buttons in the chat are enough to play a game through to the end.

Questions and answers

Does the bot need admin rights?

No. Admin rights are not required — adding the bot to your group as an ordinary member is enough, and the game works from that point on.

Can I play in a private chat with the bot?

No, games are played in groups only. Type /chess in a private chat and the bot answers “♟ PEMEM Chess faqat guruhlarda o’ynaladi. Meni bir guruhga qo’shing va u yerda /chess yozing.”, which asks you to add it to a group and type /chess there. /score and /help do work in a private chat.

How are points calculated?

A win is worth +2, a draw +1 and a loss −1 point. Your score never falls below 0. Points are tied to you rather than to the group, and the /score command shows the running total.

How many people can play one game?

Two: one on White, one on Black. The first two members to claim a color are the players, and tapping a color somebody else has claimed returns “Bu rang allaqachon band.” — the color is already taken. Everyone else in the group can watch the board, but they cannot move a piece.

Is there a web version?

Yes. The [🔎 Web’da ochish] button in the lobby opens a Telegram Mini App — the same game on a full-screen web board. It is optional: you can play a game from the first move to the last with the buttons in the chat.

Does it support all the chess rules?

Yes. Castling, en passant, pawn promotion, check, checkmate, stalemate, insufficient material and the fifty-move draw are all handled. The engine is the project’s own code rather than a ready-made library, and its correctness is confirmed by a perft depth 4 = 197 281 test.

Will the group get flooded with messages?

No. The whole game happens inside one message: a move edits the message that is already there instead of sending another one. Until the game ends, the group holds a single PEMEM message.

Do I need to register or install anything?

No. Nothing beyond your Telegram account is needed — no separate app, no website, no sign-up.

What language does the bot speak?

Uzbek, and only Uzbek. The bot has no language switch, and the Mini App page is in Uzbek as well.

Try it in your group

Add the bot to a group and type /chess — the first game starts within seconds.