x
This commit is contained in:
@@ -3,6 +3,7 @@
|
||||
一个不太有用的机器人,不生产消息,只搬运消息。
|
||||
|
||||
## 特性
|
||||
|
||||
- 简单易用的消息搬运功能。
|
||||
- 简单强大的自定义回复功能。
|
||||
- 完整支持 ECMAScript 5.1 的插件系统,基于 [otto](https://github.com/robertkrimen/otto)。
|
||||
@@ -291,7 +292,7 @@ interface Sender {
|
||||
isAdmin(): boolean; //判断消息是否来自管理员
|
||||
getPlatform(): string; //获取消息平台
|
||||
getBotId(): string; //获取机器人ID
|
||||
reply(content: string) Promise<string>; //回复消息,媒体消息推荐使用CQ码实现,返回消息ID
|
||||
reply(content: string): string; //回复消息,媒体消息推荐使用CQ码实现,返回消息ID
|
||||
recallMessage(meesageId: string | string[]): Promise<boolean>; //撤回消息
|
||||
kick(user_id: string): Promise<boolean>; //移出群聊
|
||||
unkick(user_id: string): Promise<boolean>; //取消移出群聊
|
||||
@@ -384,7 +385,7 @@ interface Message{
|
||||
|
||||
class Adapter(botplt: string, botid: string) {
|
||||
isAdapter(botid: string): boolean; //判断id是否为机器人
|
||||
push(message: Message): [messageId: string[], error: string]; //推送消息,无视禁言设置
|
||||
push(message: Message): string; //推送消息,无视禁言设置
|
||||
getReplyMessage(): Promise<message: Message>; //获取一条回复消息,实际发送成功后,如果有id,请设置 message.message_id
|
||||
setReplyHandler(func: (message: Message): string): void; //设置回复事件处理方法,方法中返回消息ID,不推荐使用。
|
||||
receive(message: Message): Sender; //接收一个消息,并返回一个Sender对象
|
||||
@@ -523,5 +524,6 @@ uuid(): string; //生成uuid
|
||||
```
|
||||
|
||||
### 项目赞助
|
||||
|
||||
打开微信扫一扫,深入了解作者~
|
||||

|
||||
|
||||
+11
-4
@@ -190,8 +190,11 @@ func (f *Factory) Init(botplt, botid string) {
|
||||
f.demo = &CustomSender{
|
||||
f: f,
|
||||
}
|
||||
if _, ok := Bots[[2]string{botplt, botid}]; ok {
|
||||
// go v.Destroy()
|
||||
if v, ok := Bots[[2]string{botplt, botid}]; ok {
|
||||
if v.uuid != f.uuid {
|
||||
go v.Destroy()
|
||||
}
|
||||
//
|
||||
console.Warn("%s机器人%s因冲突销毁!", botplt, botid)
|
||||
}
|
||||
Bots[[2]string{botplt, botid}] = f
|
||||
@@ -549,17 +552,21 @@ type PUSH string
|
||||
|
||||
func (sender *CustomSender) Reply(msgs ...interface{}) (string, error) {
|
||||
var push = false
|
||||
var content = ""
|
||||
var platform = sender.f.botplt
|
||||
var bot_id = sender.f.botid
|
||||
var args = []interface{}{}
|
||||
for _, item := range msgs {
|
||||
switch item := item.(type) {
|
||||
case PUSH:
|
||||
push = true
|
||||
case string:
|
||||
content = item
|
||||
args = append(args, item)
|
||||
}
|
||||
}
|
||||
if len(args) == 0 {
|
||||
return "", errors.New("no content")
|
||||
}
|
||||
content := utils.FormatLog(args[0], args[1:]...)
|
||||
if !push {
|
||||
if IsNoReplyGroup(sender) {
|
||||
return "", errors.New("is no reply group")
|
||||
|
||||
+2
-19
@@ -260,25 +260,8 @@ func (sender *SenderJsIplm) IsAdmin() bool {
|
||||
return sender.Message.IsAdmin()
|
||||
}
|
||||
|
||||
func (sender *SenderJsIplm) Reply(text string) interface{} {
|
||||
// promise, resolve, reject := sender.Vm.NewPromise()
|
||||
// go func() {
|
||||
// defer func() {
|
||||
// recover()
|
||||
// }()
|
||||
// if text == "" {
|
||||
// resolve("")
|
||||
// return
|
||||
// }
|
||||
// i, err := sender.Message.Reply(text)
|
||||
// if err != nil {
|
||||
// reject(err.Error())
|
||||
// return
|
||||
// }
|
||||
// resolve(i)
|
||||
// }()
|
||||
// return promise
|
||||
i, err := sender.Message.Reply(text)
|
||||
func (sender *SenderJsIplm) Reply(texts ...interface{}) interface{} {
|
||||
i, err := sender.Message.Reply(texts...)
|
||||
if err != nil {
|
||||
panic(Error(sender.Vm, err))
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user