|
|
|
@ -328,7 +328,7 @@ func (c *Client) ProcessChatCommand(chatID int64, cmdline string) (string, bool)
|
|
|
|
|
|
|
|
|
|
cmd, args := parseCommand(cmdline)
|
|
|
|
|
switch cmd {
|
|
|
|
|
// delete last message(s)
|
|
|
|
|
// delete message
|
|
|
|
|
case "d":
|
|
|
|
|
if c.me == nil {
|
|
|
|
|
return "@me is not initialized", true
|
|
|
|
@ -345,12 +345,7 @@ func (c *Client) ProcessChatCommand(chatID int64, cmdline string) (string, bool)
|
|
|
|
|
limit = 1
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
messages, err := c.client.SearchChatMessages(&client.SearchChatMessagesRequest{
|
|
|
|
|
ChatID: chatID,
|
|
|
|
|
Limit: limit,
|
|
|
|
|
Sender: &client.MessageSenderUser{UserID: c.me.ID},
|
|
|
|
|
Filter: &client.SearchMessagesFilterEmpty{},
|
|
|
|
|
})
|
|
|
|
|
messages, err := c.getLastMessages(chatID, "", c.me.ID, limit)
|
|
|
|
|
if err != nil {
|
|
|
|
|
return err.Error(), true
|
|
|
|
|
}
|
|
|
|
@ -371,7 +366,7 @@ func (c *Client) ProcessChatCommand(chatID int64, cmdline string) (string, bool)
|
|
|
|
|
if err != nil {
|
|
|
|
|
return err.Error(), true
|
|
|
|
|
}
|
|
|
|
|
// edit last message
|
|
|
|
|
// edit message
|
|
|
|
|
case "s":
|
|
|
|
|
if c.me == nil {
|
|
|
|
|
return "@me is not initialized", true
|
|
|
|
@ -384,12 +379,7 @@ func (c *Client) ProcessChatCommand(chatID int64, cmdline string) (string, bool)
|
|
|
|
|
return err.Error(), true
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
messages, err := c.client.SearchChatMessages(&client.SearchChatMessagesRequest{
|
|
|
|
|
ChatID: chatID,
|
|
|
|
|
Limit: 1,
|
|
|
|
|
Sender: &client.MessageSenderUser{UserID: c.me.ID},
|
|
|
|
|
Filter: &client.SearchMessagesFilterEmpty{},
|
|
|
|
|
})
|
|
|
|
|
messages, err := c.getLastMessages(chatID, "", c.me.ID, 1)
|
|
|
|
|
if err != nil {
|
|
|
|
|
return err.Error(), true
|
|
|
|
|
}
|
|
|
|
@ -640,7 +630,7 @@ func (c *Client) ProcessChatCommand(chatID int64, cmdline string) (string, bool)
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
c.unsubscribe(chatID)
|
|
|
|
|
// search messages within current chat
|
|
|
|
|
// message search
|
|
|
|
|
case "search":
|
|
|
|
|
var limit int32 = 10
|
|
|
|
|
if len(args) > 1 {
|
|
|
|
@ -655,12 +645,7 @@ func (c *Client) ProcessChatCommand(chatID int64, cmdline string) (string, bool)
|
|
|
|
|
query = args[0]
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
messages, err := c.client.SearchChatMessages(&client.SearchChatMessagesRequest{
|
|
|
|
|
ChatID: chatID,
|
|
|
|
|
Query: query,
|
|
|
|
|
Limit: limit,
|
|
|
|
|
Filter: &client.SearchMessagesFilterEmpty{},
|
|
|
|
|
})
|
|
|
|
|
messages, err := c.getLastMessages(chatID, query, 0, limit)
|
|
|
|
|
if err != nil {
|
|
|
|
|
return err.Error(), true
|
|
|
|
|
}
|
|
|
|
|