From de8367880dcd74cf4792fa5ae982a61794064385 Mon Sep 17 00:00:00 2001 From: Shulhan Date: Sun, 12 Apr 2020 00:24:06 +0700 Subject: telegram/bot: trim the bot's name when parsing command --- api/telegram/bot/message.go | 1 + api/telegram/bot/message_test.go | 13 ++++++++++++- 2 files changed, 13 insertions(+), 1 deletion(-) (limited to 'api/telegram') 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) } } -- cgit v1.3