1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/wechaty-wechaty

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
Клонировать/Скачать
Внести вклад в разработку кода
Синхронизировать код
Отмена
Подсказка: Поскольку Git не поддерживает пустые директории, создание директории приведёт к созданию пустого файла .keep.
Loading...
README.md

Wechaty

NPM Version NPM Docker

Wechaty

Downloads GitHub stars Docker Pulls ES Modules

TypeScript JavaScript Python Go Java .NET PHP Rust Scala

WeChat Whatsapp

Gitter Gitter room Telegram Wechaty Channel

Подключение чат-ботов

Wechaty — это SDK для роботизированной автоматизации процессов (RPA), который помогает создавать ботов за 6 строк кода на JavaScript, Python, Go, и Java. Поддерживаются кроссплатформенные решения, включая Linux, Windows, MacOS, и Docker.

:spider_web: https://wechaty.js.org
:octocat: https://github.com/Wechaty/wechaty
:beetle: https://github.com/Wechaty/wechaty/issues
:book: https://github.com/Wechaty/wechaty-getting-started
:whale: https://hub.docker.com/r/wechaty/wechaty

Последние новости

«Wechaty — отличное решение, я думаю, что пользователей станет гораздо больше». — @Gcaufy, инженер Tencent, автор WePY.

«太好用,好用的想哭» — @xinbenlv, инженер Google, основатель HaoShiYou.org.

”好用到哭“ — вы заслужили эту оценку! @bigbrother666sh, создатель «社长不见了».

«Лучшая библиотека для разработки на WeChat». — @Jarvis, инженер Baidu.

«Wechaty позволяет сотрудникам отдела эксплуатации уделять больше времени планированию мероприятий, удержанию клиентов и получению прибыли». — @lijiarui, основатель и генеральный директор Juzi.BOT.

«Если вы знаете JavaScript... попробуйте Wechaty, он прост в использовании». — @Urinx Uri Lee, автор WeixinBot (Python).

«Wechaty — хороший проект, надеюсь, он будет развиваться! Поэтому я стал участником открытого коллектива». @Simple.

Присоединяйтесь к нам

Gitter

Wechaty используется во многих проектах ChatBot тысячами разработчиков. Если вы хотите поговорить с другими разработчиками, просто отсканируйте следующий QR-код в WeChat с секретным кодом wechaty и присоединяйтесь к нашему дому разработчиков Wechaty.

QR-код Wechaty Friday.BOT

Сканируйте сейчас, потому что другие разработчики Wechaty тоже хотят поговорить с вами! (секретный код: wechaty)

Вы также можете присоединиться к нашему каналу Gitter по адресу https://gitter.im/wechaty/wechaty со своей учётной записью GitHub!

Ресурсы

За последние 4 года Wechaty провёл множество бесед и получил множество блогов. Вот все ресурсы Wechaty:

:rocket: Самый короткий код ChatBot в мире: 6 строк JavaScript

import { WechatyBuilder } from 'wechaty'
const wechaty = WechatyBuilder.build() // получаем экземпляр Wechaty
wechaty
  .on('scan', (qrcode, status) => console.log(`Scan QR Code to login: ${status}\nhttps://wechaty.js.org/qrcode/${encodeURIComponent(qrcode)}`))
  .on('login',            user => console.log(`User ${user} logged in`))
  .on('message',       message => console.log(`Message: ${message}`))
wechaty.start()

Примечание: Wechaty требуется версия Node.js >= 16

Этот бот может регистрировать все сообщения в консоли после входа в систему путём сканирования.

Вы можете найти официальный пример Wechaty в examples/ding-dong-bot.ts и другие примеры в нашем каталоге примеров.

:checkered_flag: Требования

  1. Node.js версии 16+;
  2. NPM версии 7+;
  3. TypeScript версии 4.4+.

Начало работы

node

— Wechaty starter repository — https://github.com/wechaty/wechaty-getting-started.

У нас есть стартовый репозиторий Wechaty для начинающих. Вот перевод текста на русский язык:

Простейшая настройка. Просто запустите после выполнения команд clone, npm install и npm start.

Если вы новичок в Wechaty и хотите попробовать его впервые, мы настоятельно рекомендуем вам начать с этого репозитория и использовать его в качестве стартового шаблона для вашего проекта.

В противном случае сохраните приведённый ниже пример самого короткого кода чат-бота в мире: 6 строк JavaScript в файл с именем bot.js, прежде чем запускать его с помощью NPM или Docker.

1. Npm

[![NPM Version](https://img.shields.io/npm/v/wechaty?color=brightgreen&label=wechaty%40latest)](https://www.npmjs.com/package/wechaty)
[![npm (tag)](https://img.shields.io/npm/v/wechaty/next?color=yellow&label=wechaty%40next)](https://www.npmjs.com/package/wechaty?activeTab=versions)

[![Downloads](https://img.shields.io/npm/dm/wechaty.svg?style=flat-square)](https://www.npmjs.com/package/wechaty)
[![install size](https://packagephobia.now.sh/badge?p=wechaty)](https://packagephobia.now.sh/result?p=wechaty)
npm init
npm install wechaty

# создайте свой первый файл bot.js, вы можете скопировать/вставить из приведённого выше примера «Самый короткий код чат-бота в мире: 6 строк JavaScript»
# затем:
node bot.js

2. Docker

[![Docker Pulls](https://img.shields.io/docker/pulls/wechaty/wechaty.svg?maxAge=2592000)](https://hub.docker.com/r/wechaty/wechaty/)
[![Docker Layers](https://images.microbadger.com/badges/image/wechaty/wechaty.svg)](https://microbadger.com/#/images/wechaty/wechaty)

Wechaty Docker поддерживает как JavaScript, так и TypeScript. Чтобы использовать TypeScript, просто напишите на TypeScript и сохраните с расширением .ts, компилировать не нужно, потому что мы используем ts-node для запуска.

2.1. Запустите JavaScript

# для JavaScript
docker run -ti --rm --volume="$(pwd)":/bot wechaty/wechaty bot.js

2.2. Запустите TypeScript

# для TypeScript
docker run -ti --rm --volume="$(pwd)":/bot wechaty/wechaty bot.ts

Подробнее о Wechaty Docker читайте на Wiki:Docker.

3. Switch Protocol(Puppet)

Wechaty очень мощный инструмент, он может работать по разным протоколам. Вы можете указать протокол, установив переменную среды WECHATY_PUPPET на другого провайдера puppet.

Если вы не можете использовать веб-протокол, вы можете применить другой протокол, следуя инструкциям здесь: https://github.com/wechaty/wechaty/wiki/Support-Developers. Мы предоставляем бесплатный токен для поддержки разработчиков в создании ценного чат-бота WeChat.

В настоящее время мы поддерживаем следующих провайдеров puppet:

Протокол Провайдер Puppet Переменная среды
Веб PuppetPuppeteer export WECHATY_PUPPET=wechaty-puppet-puppeteer
Windows PuppetWxwork export WECHATY_PUPPET=wechaty-puppet-service
Mock PuppetMock export WECHATY_PUPCET=wechaty-puppet-mock
Веб PuppetWechat4u export WECHATY_PUPPET=wechaty-puppet-wechat4u
iPad PuppetRock export WECHATY_PUPPET=wechaty-puppet-rock
iPad PuppetPadLocal export WECHATY_PUPPET=wechaty-puppet-padlocal
Windows PuppetDonut export WECHATY_PUPPET=wechaty-puppet-donut
iPad PuppetPadpro DEPRECATED export WECHATY_PUPPET=wechaty-puppet-padpro
iPad PuppetPadchat DEPRECATED export WECHATY_PUPPET=wechaty-puppet-padchat
iPad PuppetPadplus DEPRECATED export WECHATY_PUPPET=wechaty-puppet-padplus
Mac PuppetMacpro DEPRECATED export WECHATY_PUPPET=wechaty-puppet-macpro

Узнайте больше о Wechaty Puppet из Puppet Wiki:

  1. Puppet Directory: | Название метода | Описание | | :--- | :--- | | boolean](https://wechaty.github.io/wechaty/#Contact+self) | Проверить, является ли контакт самим собой | | name(): string| Получить имя контакта | |alias(): Promise| Получить псевдоним контакта | |alias(newAlias: string): Promise| Установить или удалить псевдоним контакта | |friend(): boolean| Проверить, является ли контакт другом | |type(): ContactType| Вернуть тип контакта | |province(): string| Получить регион «провинция» из контакта | |city(): string| Получить регион «город» из контакта | |avatar(): Promise| Получить поток файла картинки аватара | |gender(): ContactGender` | Получить пол контакта |

2.1 Класс ContactSelf

Класс ContactSelf является расширением Contact.

Название метода API Описание
avatar(file: FileBox): Promise<void> Установить аватар для бота
qrcode(): Promise<string> Получить qr-код для бота
signature(text: string): Promise<void> Установить подпись для бота

2.2 Класс Friendship

Отправка и получение запросов на дружбу, а также подтверждение дружбы.

Название метода API Описание
static add(contact: Contact, hello?: string): Promise<void> Отправить приглашение в друзья контакту
method accept(): Promise<void> Принять запрос в друзья
method hello(): string Получить строку приветствия из приглашения в друзья
method contact(): Contact Получить контакт из дружбы
method type(): FriendshipType Вернуть тип дружбы (неизвестно, подтвердить, получить, проверить)

3 Класс Message

Все сообщения WeChat будут инкапсулированы как Message.

Название метода API Описание
static find(query: string): Promise<null | Message> Найти сообщение в кэше и вернуть первое
static findAll(query: string): Promise<Message[]> Поиск сообщений в кэше, возврат списка сообщений
method from(): Contact Получить отправителя из сообщения
method to(): Contact Получить получателя сообщения
method room(): null | Room Получить комнату из сообщения (если сообщение не в комнате, то вернёт null)
method text(): string Получить текстовое содержимое сообщения
method say(text: string): Promise<void | Message> Ответить текстом, медиафайлом или сообщением о контакте отправителю, вернуть отправленное ботом сообщение (поддерживается только puppet-padplus)
method type(): MessageType Получить тип из сообщения
method self(): boolean Проверить, отправлено ли сообщение самостоятельно
method mention()
метод mentionSelf(): boolean проверить, является ли сообщение упоминанием самого себя.
метод forward(to: Контакт): Promise<void> переслать полученное сообщение.
метод age(): number количество секунд с момента создания сообщения.
метод date(): Date время создания сообщения.
метод toFileBox(): Promise<FileBox> извлечь медиафайл из сообщения и поместить его в FileBox.
метод toContact(): Promise<Контакт> получить карточку контакта из сообщения.

4 Класс Room

Все комнаты WeChat (группы) будут инкапсулированы как Room.

Комната API Описание
статический create(contactList: Контакт[], topic?: string): Promise<Room> создать новую комнату.
статический find(query: string): Promise<null | Room> попытаться найти комнату по фильтру. Если найдено несколько, вернуть первую.
статический findAll(query: string): Promise<Room[]> найти все контакты в комнате.
статический load(query: string): Room загрузить комнату по идентификатору комнаты.
свойство id: readonly string
событие join испустить, когда кто-либо присоединяется к любой комнате.
событие topic испускать, когда кто-то меняет тему комнаты.
событие leave испускает, когда кто-нибудь покидает комнату.
событие invite испускается при получении приглашения в комнату.
метод sync(): <Promise<void> принудительно перезагрузить данные для комнаты, синхронизировать данные с низкоуровневым API снова.
метод say(text: string): Promise<void | Message> отправить текст, медиафайл, карточку контакта или текст с упоминанием @mention contact внутри комнаты, вернуть отправленное сообщение (поддерживается только puppet-padplus).
метод add(contact: Контакт): Promise<void> добавить контакт в комнату.
метод del(contact: Контакт): Promise<void> удалить контакт из комнаты.
метод quit(): Promise<void> бот выходит из комнаты самостоятельно.
метод topic(): Promise<string> ПОЛУЧИТЬ тему из комнаты.
метод topic(newTopic: string): Promise<void> УСТАНОВИТЬ тему из комнаты.
метод announce(text: string): Promise<void> УСТАНОВИТЬ/ПОЛУЧИТЬ объявление из комнаты.
метод qrcode(): Promise<string> Получить QR-код комнаты, который можно использовать для сканирования и присоединения к комнате.
метод alias(contact: Contact): Promise<string> Вернуть псевдоним контакта в комнате.
метод roomAlias(contact: Contact): Promise<string | null> То же, что и функция псевдонима.
метод has(contact: Contact): Promise<boolean> Проверить, есть ли в комнате участник contact.
метод memberAll(query?: string): Promise<Contact[]> Найти все контакты или с определённым именем в комнате.
метод `member(query: string): Promise<null | Контакт> Найти все контакты в комнате, если их много, вернуть первый.
метод memberList():Promise<Контакт[]> получить всех участников комнаты из комнаты.
метод owner(): null | Контакт Получить владельца комнаты из комнаты.

4.1 Класс RoomInvitation

Принять приглашение в комнату

RoomInvitation API Описание
метод accept(): Promise<void> принять приглашение в комнату
метод inviter(): Контакт получить пригласителя из приглашения в комнату
метод roomTopic(): Promise<string> получить тему комнаты из приглашения в комнату
метод date(): Promise<Дата> время его создания
метод age(): Promise<число> количество секунд с момента его создания.

ТЕСТ

NPM Docker Coverage Status

Known Vulnerabilities

Wechaty полностью автоматически тестируется модульными и интеграционными тестами с поддержкой непрерывной интеграции и непрерывной доставки (CI/CD), работающими на таких платформах CI, как Travis, Shippable и Appveyor.

Чтобы протестировать Wechaty, выполните:

npm test

Узнайте больше о тестах из Wiki:Tests.

СОЗДАНИЕ ПЛАГИНА WECHATY

Создать и опубликовать плагин Wechaty очень просто. Просто предоставьте свой модуль в виде функции, которая принимает 1 параметр: wechaty. Когда ваш плагин будет импортирован Wechaty, он передаст себя в качестве аргумента, и вы сможете добавить любую конфигурацию, поддерживаемую Wechaty.

import { WechatyPlugin } from 'wechaty'

export default const MyPlugin: WechatyPlugin = (wechaty: Wechaty) => {
  // ...
}

Параметр config существует для того, чтобы пользователь мог передавать настройки вашему плагину. При документировании вашего плагина Wechaty вы должны указать поддерживаемые конфигурации для пользователя.

См.:

  1. Поддержка плагинов Wechaty с примером KickOut #1939
  2. Плагины Wechaty Contrib

:pencil: РЕЛИЗНЫЕ НОТЫ

:saxophone: Просмотры с 15 февраля 2019 года

HitCount

:sparkling_heart: НА ОСНОВЕ WECHATY

Powered by Wechaty

:sparkles: Значок Wechaty

[![Powered by Wechaty](https://img.shields.io/badge/Powered%20By-Wechaty-brightgreen.svg)](https://wechaty.js.org)

Получите больше кода для встраивания html/markdown из Вики:Значок.

:star2: Проекты, использующие Wechaty

  1. Проект Wechaty, который использует CNN, глубокую нейронную сеть, для оценки изображений
  2. Реле между Telegram и WeChat
  3. Чат-бот, управляющий группами HaoShiYou в WeChat, которыми управляют волонтёры haoshiyou.org
  4. Интерактивный чат-бот для управления списком задач
  5. Вперёд Вклад:

[CONTRIBUTING.md].


Contribute

:sunglasses: Вкладчики

Вкладчики на Open Collective

Спасибо всем нашим вкладчикам! 🙏 Станьте вкладчиком.

Open Collective Wechaty

:smirk: Спонсоры

Спонсоры на Open Collective

Поддержите этот проект, став спонсором. Ваш логотип будет отображаться здесь с ссылкой на ваш веб-сайт. Станьте спонсором.

Спонсор Wechaty

Многоязычный Wechaty

Python Wechaty Go Wechaty Java(Kotlin) Wechaty Scala Wechaty PHP Wechaty .NET(C#) Wechatyin

  • Wechaty — RPA SDK для разработчиков чат-ботов (TypeScript)
  • Python Wechaty — RPA SDK для разработчиков чат-ботов, написанный на Python
  • Go Wechaty — RPA SDK для разработчиков чат-ботов, написанный на Go
  • Java Wechaty — RPA SDK для разработчиков чат-ботов, написанный на Java(Kotlin)
  • Scala Wechaty — RPA SDK для разработчиков чат-ботов, написанный на Scala
  • PHP Wechaty — RPA SDK для разработчиков чат-ботов, написанный на PHP
  • .Net(C#) Wechaty — RPA SDK для разработчиков чат-ботов, написанный на .NET(C#)

История

main v1.11 (22 ноября 2021 года)

Работа над редуцированием экосистемы Wechaty для применения шаблона CQRS.

v1.10 (21 ноября 2021 года)

Второй бета-релиз Wechaty со всеми модулями экосистемы npm версии v1.10 (wechaty-puppet, wechaty-puppet-service и т. д.).

v1.0 (сентябрь 2021 года)

— релиз v1.0 Wechaty — это первый бета-релиз Wechaty.

v0.69

  1. v0.69: Поддержка модулей ES (с двойной поддержкой CJS) (#2232).

v0.68 (27 августа 2021 года)

  1. Поддержка TLS (#2231).
  2. Последняя версия CommonJS.

Создатели

  1. Huan (李卓桓), Tencent TVP of Chatbot.
  2. Rui (李佳芮), Microsoft AI MVP, основатель и генеральный директор Juzi.BOT (выпускник YC W19).

Профиль Huan LI (李卓桓) на StackOverflow.

Цитирование Wechaty

Чтобы процитировать этот проект в публикациях:

@misc{wechaty,
  author = {Huan LI, Jiarui LI},
  title = {Wechaty: Conversational SDK for Chatbot Makers},
  year = {2016},
  publisher = {GitHub},
  journal = {GitHub Repository},
  howpublished = {\url{https://github.com/wechaty/wechaty}},
}

Авторские права и лицензия

  • Код и документация © 2016–настоящее время Huan, Rui и участники сообщества Wechaty.
  • Код выпущен под лицензией Apache-2.0.
  • Документация выпущена под Creative Commons.

Комментарии ( 0 )

Вы можете оставить комментарий после Вход в систему

Введение

Conversational RPA SDK for Chatbot Makers. Развернуть Свернуть
TypeScript и 4 других языков
Apache-2.0
Отмена

Обновления

Пока нет обновлений

Участники

все

Недавние действия

Загрузить больше
Больше нет результатов для загрузки
1
https://api.gitlife.ru/oschina-mirror/wechaty-wechaty.git
git@api.gitlife.ru:oschina-mirror/wechaty-wechaty.git
oschina-mirror
wechaty-wechaty
wechaty-wechaty
main