Skip to content

πŸ€– A Node.js Telegram bot that connects Linear with your team chat. create, assign, update, and manage tasks directly from Telegram.

Notifications You must be signed in to change notification settings

mehrabsha/linear-telegram-bot

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

4 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

πŸ“‘ Linear-Telegram Bot

A Telegram bot built with Node.js that connects your Linear project management system to a Telegram group.
It allows team members to create, update, list, and delete tasks directly from Telegram.

✨ Features

  • βœ… Create tasks with /add and assign by name/email
  • πŸ“‹ List all tasks grouped by status (Todo, In Progress, Done)
  • πŸ”„ Change task status with /done and /progress
  • πŸ—‘οΈ Delete tasks with /delete
  • πŸ”’ Restrict bot usage to a specific Telegram group
  • πŸ“Ž Task IDs are shown in Markdown for easy copy-paste

πŸš€ Commands

Command Description
/add title @user Create a new task and optionally assign it
/list Show all tasks grouped by status
/done <task_id> Mark a task as Done
/progress <task_id> Move a task to In Progress
/delete <task_id> Delete a task by its ID
/ping Check if the bot is online + logs Telegram group ID

πŸ’‘ Tip: To get your Telegram group ID, simply type /ping in the group. The bot will reply with the group ID β€” copy and use it in ALLOWED_TELEGRAM_GROUP_ID.

βš™οΈ Environment Variables

Create a .env file with the following:

TELEGRAM_BOT_TOKEN=your_telegram_bot_token
LINEAR_API_KEY=your_linear_api_key
LINEAR_TEAM_ID=your_linear_team_id

LINEAR_TODO_STATE_ID=todo_state_id
LINEAR_IN_PROGRESS_STATE_ID=in_progress_state_id
LINEAR_DONE_STATE_ID=done_state_id

ALLOWED_TELEGRAM_GROUP_ID=-100111111111

πŸ“¦ Setup

git clone https://github.com/mehrabsha/linear-telegram-bot.git
cd linear-telegram-bot
npm install
node index.js

Make sure your bot is added as an admin to the allowed Telegram group.

πŸ“ File Structure

linear-telegram-bot/
β”œβ”€β”€ commands/
β”‚   β”œβ”€β”€ addIssue.js
β”‚   β”œβ”€β”€ listTasks.js
β”‚   β”œβ”€β”€ markDone.js
β”‚   β”œβ”€β”€ setInProgress.js
β”‚   β”œβ”€β”€ deleteTask.js
β”‚   └── ping.js
β”œβ”€β”€ linear.js
β”œβ”€β”€ index.js
└── .env

πŸ›‘οΈ Security

  • All commands are restricted to a single Telegram group using ALLOWED_TELEGRAM_GROUP_ID.
  • Sensitive data (API keys, tokens) should never be committed to version control.

πŸ“„ License

MIT License

πŸ‘¨β€πŸ’» Contributions

PRs welcome! For improvements or bug reports, feel free to open an issue or submit a pull request.

About

πŸ€– A Node.js Telegram bot that connects Linear with your team chat. create, assign, update, and manage tasks directly from Telegram.

Topics

Resources

Stars

Watchers

Forks