8000 GitHub - finalpi/wechat2tg: telegram 收发微信消息
[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content

finalpi/wechat2tg

Repository files navigation

wechat2tg-mac

基于微信 Mac 协议在 Telegram 收发微信消息,wx2tg-server 服务端出于安全考虑不开源

TG 群组: @Wx2TgUserGroup

主要功能

  1. 微信单聊消息、微信群消息、公众号消息的接收、企业微信消息的接收
  2. Telegram 向指定的微信用户、微信群、公众号发送消息
  3. 屏蔽指定群组的消息

支持的消息类型

微信消息类型支持列表

  • 文本消息
  • 企业微信消息
  • 微信表情包
  • 图片消息
  • 视频消息
  • 音频/视频通话 (仅消息提醒)
  • 文件消息
  • 链接消息
  • 群聊消息
  • 群聊@消息(@所有人和@你 会转换成 Telegram @你)
  • 公众号消息
  • emoji
  • 位置消息
  • 撤回消息
  • 语音消息
  • 红包消息(提醒,无法获取红包内容)
  • 小程序消息

Telegram 消息类型支持列表

  • 文本消息
  • 贴纸表情
  • 图片消息
  • 视频消息
  • 文件消息
  • 语音消息

注意事项

  1. 本项目仅用于技术研究和学习,不得用于非法用途
  2. 无论遇到什么问题都欢迎提交 issue

部署安装

先复制一份 .env.example.env 文件,然后配置 .env 文件中的环境变量

复制项目中的 app.conf.exampleapp.conf 文件到 conf 目录,将 Redis 地址设置为你部署的 Redis 的地址

docker-compose

创建 docker-compose.yml 文件:

version: '3'

services:
  wx2tg-mac:
    image: finalpi/wechat2tg-mac:latest
    container_name: wx2tg-mac
    volumes:
      - ./config:/app/storage
      - ./save-files:/app/save-files # 保存文件夹挂载后贴纸文件不需要重新转换
    env_file: ".env"
    restart: unless-stopped

  wx2tg-server:
    image: finalpi/wx2tg-server:latest # 拉取镜像
    container_name: wx2tg-server
    ports:
      - "8058:8058"
    volumes:
      - ./conf:/usr/wic-go/conf
    restart: unless-stopped

  wx2tg-redis:
    image: redis:7.2
    container_name: wx2tg-redis
    ports:
      - "16379:6379"
    volumes:
      - ./redis-data:/data
    command: ["redis-server", "--appendonly", "yes"]
    restart: unless-stopped

运行

docker-compose up -d

关闭 bot 隐私模式

关闭掉机器人的隐私模式,打开 BotFather,输入 /mybots,选择你的bot。点击 Bot Settings - Group Privacy - Turn off ,出现 Privacy mode is disabled for xxx 就说明关闭成功了

使用说明

BOT命令

  • /login:获取登录二维码;首次部署启动时,最先发送 /login 命令的人将成为 BOT 的所有者

  • /flogin:获取文件传输助手登录二维码,支持接收视频和文件

  • /update:更新群组头像和昵称信息

  • /message:开关群组消息接收

  • /forward:开关转发群组内其他人或者 bot 的消息

  • /user:获取微信用户列表;点击按钮后可创建新群组或者绑定用户(可通过名称或备注搜索,例如: /user 张 查找包含「张」的微信用户)

  • /room:获取微信群列表;点击按钮后可创建新群组或者绑定微信群(可通过名称或备注搜索,例如: /room 外卖 查找含有「外卖」的微信群)

  • /settings:程序设置

  • /unbind:解绑微信群或微信用户(仅支持在群组使用)

环境变量说明

名称 是否必填 描述
BOT_TOKEN Telegram Bot 的 token,通过 BotFather 创建
API_ID Telegram API 的 API ID
API_HASH Telegram API 的 API HASH
BASE_API wx2tg-server 容器的 API 请求地址,需要填入完整路径名
PROXY_PROTOCOL 代理类型可选值(socks5,http,https)
PROXY_HOST 代理的 URL
PROXY_PORT 代理的端口号
PROXY_USERNAME 代理的用户名
PROXY_PASSWORD 代理的密码
ROOM_MESSAGE 在 BOT 中微信群消息的显示格式
OFFICIAL_MESSAGE 在 BOT 中公众号消息的显示格式
CONTACT_MESSAGE 在 BOT 中微信用户消息的显示格式
ROOM_MESSAGE_GROUP 在群组中微信群消息的显示格式
CONTACT_MESSAGE_GROUP 在群组中微信用户消息的显示格式
OFFICIAL_MESSAGE_GROUP 在群组中公众号消息的显示格式
CREATE_ROOM_NAME 自动创建微信群的群组时, 群组名称的格式
CREATE_CONTACT_NAME 自动创建微信联系人的群组时, 群组名称的格式
MESSAGE_DISPLAY 文字消息的显示格式

设置项/settings命令说明

1.微信emoji是否以图片链接显示: 开启后会将好友发过来的小黄人表情转为图片链接的方式显示

1.启动时同步群组信息: 开启后会在程序刚启动时同步所有人的信息,会更新群组头像和名称


语音转文字

  1. 配置 TENCENT_SECRET_IDTENCENT_SECRET_KEY ,可在腾讯语音识别控制台开通 。有免费的使用额度
  2. /settings 中开启自动文字转语音功能

获取API_IDAPI_HASH

  1. 登录 telegram account

  2. 然后点击「API development tools」并填写应用程序详细信息(只需应用程序标题和简称)

  3. 最后点击「Create application」


自定义消息模板

如果你想修改消息发送者的格式,你可以修改 docker 中的环境变量或者 .env 文件

自定义消息模板占位符:

#[alias]:联系人备注

#[name]:联系人昵称

#[topic]:群聊昵称

#[alias_first]:备注优先,如果没有备注就显示联系人的昵称

#[identity]:身份信息文本

#[body]:消息体文本

#[br]:换行

如何 @所有人

发送以 @all 开头的消息会 @所有人,仅支持文本消息 @所有人


常见问题

参与开发

  1. fork 项目,切换到 wx2tg-mac-dev 分支,或者新建一个分支。请不要直接提交代码到主分支
  2. 提交 Pull Request 到 wx2tg-mac-dev 分支

License

MIT

Thanks

感谢Jetbrains对本项目的支持

About

telegram 收发微信消息

Resources

License

Stars

Watchers

Forks

Contributors 4

  •  
  •  
  •  
  •  

Languages

0