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

OSCHINA-MIRROR/irealing-wxbot

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

WXBot

WXBot — это основанный на Kotlin веб-клиент WeChat, разработанный с использованием WeChat SDK.

Пример

Отправка сообщения

import cn.fuser.tool.net.QRPrinter
import java.io.File

fun main(args: Array<String>) {
    val auth = AuthValidator({ QRPrinter(it).print(System.err) }).validate()
    val bot = WXBot(auth)
    bot.heartbeat()
    val members = bot.contact().list.filter { it.userName.startsWith("@@") }
    members.forEach({
        // Отправка текстового сообщения    
        bot.sendText(it.userName, it.userName)
        // Отправка изображения
        bot.sendImg(it.userName, File("****"))
    })
}

Пересылка сообщения

package cn.fuser.vx.wxbot

import cn.fuser.tool.net.Log
import cn.fuser.tool.net.QRPrinter

fun main(args: Array<String>) {
    val auth = AuthValidator({ QRPrinter(it).print(System.err) }).validate()
    val bot = WXBot(auth)
    bot.heartbeat()
	// Поиск пользователя по псевдониму
    val members = bot.contact().list.find { it.nickName.startsWith("***") }
    bot.registerHandler(SimpleMessageHandler {
        Log.info("message[%d] %s: %s", it.msgType, it.fromUserName, it.content)
        if (it.msgType != 1) return@SimpleMessageHandler
		// userName начинается с @@, значит это сообщение из группового чата WeChat
        val content = if (it.fromUserName.startsWith("@@")) it.content.substringAfter(":<br/>") else it.content
        bot.sendText(members!!.userName, content)
    })
}

О сканировании QR-кода

В WXBot используется инструмент cn.fuser.tool.QRPrinter, который выводит QR-код в виде ASCII-арта. Этот инструмент реализован на основе Python-версии kdepp/tty_qr.py.

Также можно реализовать (BufferedImage) -> Unit и передать его в AuthValidator для выполнения других операций. Эффект вывода QR-кода на консоль: Эффект вывода QR-кода на консоль

author: @Memory_Leak

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

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

Введение

Описание недоступно Развернуть Свернуть
Отмена

Обновления

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

Участники

все

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

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