All Projects → JQ-Networks → Unifiedmessagerelay

JQ-Networks / Unifiedmessagerelay

Licence: mit
Group Message Forward Framework (supports QQ Telegram Line Discord)

Programming Languages

python
139335 projects - #7 most used programming language

Projects that are alternatives of or similar to Unifiedmessagerelay

Userge
Userge, Durable as a Serge
Stars: ✭ 363 (+0%)
Mutual labels:  telegram-bot, asyncio, telegram
Integrations
Connect your App to Multiple Messaging Channels with the W3C Open standard.
Stars: ✭ 721 (+98.62%)
Mutual labels:  discord, telegram, line
Notify
A dead simple Go library for sending notifications to various messaging services.
Stars: ✭ 727 (+100.28%)
Mutual labels:  discord, telegram, line
Torpedo
Pluggable, multi-network asynchronous chat bot written in Go
Stars: ✭ 19 (-94.77%)
Mutual labels:  telegram-bot, telegram, line
Kokkorobot Multi Platform
基于 HoshinoBot 的跨平台公主连结机器人,支持 discord, telegram, tomon等。A multi-platform bot for princess connect based on HoshinoBot, supporting discord, telegram and others.
Stars: ✭ 77 (-78.79%)
Mutual labels:  telegram-bot, discord-bot, qqbot
AmimeWatch
Telegram bot made in Python 3 using the @pyrogram framework.
Stars: ✭ 19 (-94.77%)
Mutual labels:  telegram, telegram-bot, asyncio
Stormkitty
🔑 Open source stealer written on C#, all logs will be sent to Telegram bot.
Stars: ✭ 198 (-45.45%)
Mutual labels:  telegram-bot, discord, telegram
Harmonbot
Multi-Platform Factotum Bot
Stars: ✭ 30 (-91.74%)
Mutual labels:  telegram, telegram-bot, discord-bot
Webhook2telegram
🤖 A simple bot to translate JSON HTTP requests into Telegram push messages
Stars: ✭ 357 (-1.65%)
Mutual labels:  telegram-bot, telegram
Switchblade
The open source Discord bot that solves all of your problems.
Stars: ✭ 285 (-21.49%)
Mutual labels:  discord-bot, discord
Shieldy
@shieldy_bot Telegram bot repository
Stars: ✭ 351 (-3.31%)
Mutual labels:  telegram-bot, telegram
Mantarobot
Multipurpose Discord bot made in Java using JDA.
Stars: ✭ 282 (-22.31%)
Mutual labels:  discord-bot, discord
Nostrum
Elixir Discord Library
Stars: ✭ 274 (-24.52%)
Mutual labels:  discord-bot, discord
Modmailbot
Modmail Bot is a bot for Discord that makes it easier for users to contact moderators and admins for help.
Stars: ✭ 354 (-2.48%)
Mutual labels:  discord-bot, discord
Livebot
An app that allows you to be inside a bot!
Stars: ✭ 271 (-25.34%)
Mutual labels:  discord-bot, discord
The Guard Bot
The Guard, a Telegram bot to moderate groups.
Stars: ✭ 299 (-17.63%)
Mutual labels:  telegram-bot, telegram
Xiao
Xiao is a Discord bot coded in JavaScript with discord.js using the Commando command framework. With over 500 commands, she is one of the most feature-rich bots out there. Formerly XiaoBot.
Stars: ✭ 302 (-16.8%)
Mutual labels:  discord-bot, discord
Discordeno
Discord API library for Deno
Stars: ✭ 254 (-30.03%)
Mutual labels:  discord-bot, discord
Giveawaybot
🎉 Hold giveaways quickly and easily on your Discord server!
Stars: ✭ 290 (-20.11%)
Mutual labels:  discord-bot, discord
Laravel Social Auto Posting
🌈Laravel social auto posting
Stars: ✭ 306 (-15.7%)
Mutual labels:  telegram-bot, telegram

UnifiedMessageRelay

shields License: MIT Telegram support group Telegram developer group

UnifiedMessageRelay is a framework for the purpose of bringing messages from different chat platform together. With UnifiedMessageRelay, user no longer need to view messages on different platform, or different groups. UnifiedMessageRelay brings powerful message forwarding functionality and flexible plugin API to meet your custom need. A driver API specification is also provided, so one can compose their own backend driver, and the framework will load and utilize the driver automatically.

Demo

Telegram <-> QQ:

Telegram QQ

Telegram <-> Discord:

Discord Telegram

All four platforms: QQ, Telegram, Line and Discord can forward between each other directly.

Supported platforms

Update

ChangeLog.md

Features

  • Forward text and image between all supported platforms
  • Image is converted to supported format automatically
  • Reply is preserved with best effort
  • Markdown format is preserved for supported platforms
  • Command API for customize triggers
  • Message Hook API for even more customized needs

Limited support for Coolq Air. image sending is available for Coolq Pro.

Installation

Framework Setup

Install python dependencies on host os

Make sure Python 3.7+ and pip are installed. Run:

pip3 install unified-message-relay

TLDR

To install every python module in one line:

pip3 install -U umr_telegram_driver umr_line_driver umr_discord_driver umr_coolq_driver umr_mirai_driver umr_extensions_demo

Install other required package on host os

apt install libcairo2 ffmpeg libmagickwand-dev

Configurations

Create ~/.umr/

mkdir ~/.umr

Copy config.yaml to ~/.umr

Why yaml instead of json?

Full Example config

The "QQ", "Telegram" or "Line" above are all custom names. Real bot driver should be configure throgh "Driver" list.

Follow the guide for your platform

QQ

Mirai

Telegram

Line

Discord

Start the bot

Viewing CLI Help

unified_message_relay -h

Background process

  • Start background service
unified_message_relay start

or

unified-message-relay restart

By default, log will be stored in /var/log/umr/bot.log, and cache will be cleared out upon start.

  • Stop the background service
unified_message_relay stop

Foreground process (for debugging purpose)

If you need to see the log output for debugging purpose, stop the running daemon first. Then follow this command.

Remember to enable debug option in config.

unified_message_relay run

Hit Ctrl + C to stop.

Extensions and Commands

Example extensions and commands now require extension umr-extensions-demo:

pip install umr-extensions-demo

and put - umr_extensions_demo under Extensions section of config.yaml.

Available commands

Help

Send !!help to show available commands.

This command requires no extra module.

Show chat id

Send !!id anywhere to see chat id.

Reply message with !!id to reveal source chat id.

This command requires cmd_id.py under umr_extension_demo.

Delete QQ Message

Reply to the message you want to delete with !!del

This command requires QQ_recall.py under umr_extension_demo and using coolq driver. Mirai recall is not supported at this time.

Add telegram blocked keyword

Message containing these keyword will not be forwarded to any other chat

Send !!bk and keywords separated by space

This command requires Telegram_watermeter.py under umr_extension_demo and using telegram driver.

Add telegram blocked channel

Message originated from these channel will not be forwarded to any other chat

Reply forwarded channel message with !!bc

This command requires Telegram_watermeter.py under umr_extension_demo and using telegram driver.

To modify saved keywords and channels, edit ExtensionConfig section in config.yaml.

Available Extensions

Comment filter

Add // at the beginning of the message to avoid forwarding to any other chat.

Issue Format

Check these before opening an issue

  1. Use unified-message-relay run to print log to stdout
  2. Check if you are using Python 3.7+
  3. Check if binary dependencies are installed (search apt in this page)
  4. (If using Coolq) Check if cq-http-api is enabled in Coolq
  5. Check if the log suggests any missing configuration
  6. Check if you are on Dev branch, please switch back to master (dev may be unstable)

Issues must provide

  1. Descriptions about the issue
  2. Logs of python3 daemon.py run (Desensitization)
  3. Steps to reproduce
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].