diff options
| author | Shulhan <m.shulhan@gmail.com> | 2020-04-12 00:24:06 +0700 |
|---|---|---|
| committer | Shulhan <m.shulhan@gmail.com> | 2020-04-12 00:24:06 +0700 |
| commit | de8367880dcd74cf4792fa5ae982a61794064385 (patch) | |
| tree | 213ca7f82ddfca5731b7d2b4d866e07653fd1ebb | |
| parent | da0578d686d1445a5c5e224c53fafba9148a3888 (diff) | |
| download | pakakeh.go-de8367880dcd74cf4792fa5ae982a61794064385.tar.xz | |
telegram/bot: trim the bot's name when parsing command
| -rw-r--r-- | api/telegram/bot/message.go | 1 | ||||
| -rw-r--r-- | api/telegram/bot/message_test.go | 13 |
2 files changed, 13 insertions, 1 deletions
diff --git a/api/telegram/bot/message.go b/api/telegram/bot/message.go index 69e406d7..85502d6e 100644 --- a/api/telegram/bot/message.go +++ b/api/telegram/bot/message.go @@ -187,6 +187,7 @@ func (msg *Message) parseCommandArgs() bool { end := start + cmdEntity.Length msg.Command = strings.TrimPrefix(msg.Text[start:end], "/") + msg.Command = strings.Split(msg.Command, "@")[0] msg.CommandArgs = strings.TrimSpace(msg.Text[end:]) return true diff --git a/api/telegram/bot/message_test.go b/api/telegram/bot/message_test.go index ee0dceb8..07310faa 100644 --- a/api/telegram/bot/message_test.go +++ b/api/telegram/bot/message_test.go @@ -36,12 +36,23 @@ func TestMessage_parseCommandArgs(t *testing.T) { }, expCommand: "definisi", expArgs: "analisis", + }, { + msg: Message{ + Text: "/definisi@KamuskuBot analisis", + Entities: []MessageEntity{{ + Type: EntityTypeBotCommand, + Offset: 0, + Length: 20, + }}, + }, + expCommand: "definisi", + expArgs: "analisis", }} for _, c := range cases { c.msg.parseCommandArgs() test.Assert(t, "Command", c.expCommand, c.msg.Command, true) - test.Assert(t, "Command", c.expArgs, c.msg.CommandArgs, true) + test.Assert(t, "CommandArgs", c.expArgs, c.msg.CommandArgs, true) } } |
