added reply message function.
This commit is contained in:
		
							
								
								
									
										34
									
								
								message.go
									
									
									
									
									
								
							
							
						
						
									
										34
									
								
								message.go
									
									
									
									
									
								
							| @@ -1,6 +1,7 @@ | |||||||
| package revoltgo | package revoltgo | ||||||
|  |  | ||||||
| import ( | import ( | ||||||
|  | 	"encoding/json" | ||||||
| 	"time" | 	"time" | ||||||
|  |  | ||||||
| 	"github.com/oklog/ulid/v2" | 	"github.com/oklog/ulid/v2" | ||||||
| @@ -114,3 +115,36 @@ func (m Message) Delete() error { | |||||||
|  |  | ||||||
| 	return nil | 	return nil | ||||||
| } | } | ||||||
|  |  | ||||||
|  | // Reply to the message. | ||||||
|  | func (m Message) Reply(mention bool, sm *SendMessage) (*Message, error) { | ||||||
|  | 	if sm.Nonce == "" { | ||||||
|  | 		sm.CreateNonce() | ||||||
|  | 	} | ||||||
|  |  | ||||||
|  | 	if len(sm.Content) < 1968 && mention { | ||||||
|  | 		sm.Content = "<@" + m.AuthorId + ">, " + sm.Content | ||||||
|  | 	} | ||||||
|  |  | ||||||
|  | 	respMessage := &Message{} | ||||||
|  | 	respMessage.Client = m.Client | ||||||
|  | 	msgData, err := json.Marshal(sm) | ||||||
|  |  | ||||||
|  | 	if err != nil { | ||||||
|  | 		return respMessage, err | ||||||
|  | 	} | ||||||
|  |  | ||||||
|  | 	resp, err := m.Client.Request("POST", "/channels/"+m.ChannelId+"/messages", msgData) | ||||||
|  |  | ||||||
|  | 	if err != nil { | ||||||
|  | 		return respMessage, err | ||||||
|  | 	} | ||||||
|  |  | ||||||
|  | 	err = json.Unmarshal(resp, respMessage) | ||||||
|  |  | ||||||
|  | 	if err != nil { | ||||||
|  | 		return respMessage, err | ||||||
|  | 	} | ||||||
|  |  | ||||||
|  | 	return respMessage, nil | ||||||
|  | } | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user