Open gtrafimenkov opened 7 years ago
got the same error, calling the bot by botname or @botname too
[Mon Jan 23 2017 06:26:39 GMT+0000 (GMT)] ERROR Error: Bad Request: Can't parse message text: Can't find end of the entity starting at byte offset 483
at Function.TelegramBot.error (/root/blueskygroupbot/node_modules/telegrambot/lib/telegrambot.js:26:15)
at Request._callback (/root/blueskygroupbot/node_modules/telegrambot/lib/telegrambot.js:47:66)
at Request.self.callback (/root/blueskygroupbot/node_modules/request/request.js:186:22)
at emitTwo (events.js:106:13)
at Request.emit (events.js:191:7)
at Request.
[Mon Jan 23 2017 06:26:39 GMT+0000 (GMT)] ERROR hubot-bangbang: DOES NOT COMPUTE
[Mon Jan 23 2017 06:27:45 GMT+0000 (GMT)] INFO Receiving message_id: 5
[Mon Jan 23 2017 06:27:45 GMT+0000 (GMT)] ERROR Error: Bad Request: Can't parse message text: Can't find end of the entity starting at byte offset 483
at Function.TelegramBot.error (/root/blueskygroupbot/node_modules/telegrambot/lib/telegrambot.js:26:15)
at Request._callback (/root/blueskygroupbot/node_modules/telegrambot/lib/telegrambot.js:47:66)
at Request.self.callback (/root/blueskygroupbot/node_modules/request/request.js:186:22)
at emitTwo (events.js:106:13)
at Request.emit (events.js:191:7)
at Request.
[Mon Jan 23 2017 06:27:45 GMT+0000 (GMT)] ERROR hubot-bangbang: DOES NOT COMPUTE
Ok strange, I will try to look at this asap, thx guys for reporting it 👍
Hi, same problem here, or similar at least, on my tests it's seems has something to do with the markdown support in the messages and underscores (_) ie:
Jan 23 02:06:23 ambrosio-tele app/web.1: [Mon Jan 23 2017 11:06:23 GMT+0100 (CET)] INFO hubot-rss-reader: Pokémon ¿qué? http://elpais.com/cultura/2017/01/22/television/1485084013_172502.html#?ref=rss&format=simple&link=link => 133188453
Jan 23 02:06:25 ambrosio-tele app/web.1: [M
:
Jan 23 02:06:23 ambrosio-tele app/web.1: [Mon Jan 23 2017 11:06:23 GMT+0100 (CET)] INFO hubot-rss-reader: Pokémon ¿qué? http://elpais.com/cultura/2017/01/22/television/1485084013_172502.html#?ref=rss&format=simple&link=link => 133188453
Jan 23 02:06:25 ambrosio-tele app/web.1: [Mon Jan 23 2017 11:06:25 GMT+0100 (CET)] ERROR Error: Bad Request: Can't parse message text: Can't find end of the entity starting at byte offset 135
Jan 23 02:06:25 ambrosio-tele app/web.1: at Function.TelegramBot.error (/app/node_modules/telegrambot/lib/telegrambot.js:26:15)
Jan 23 02:06:25 ambrosio-tele app/web.1: at Request._callback (/app/node_modules/telegrambot/lib/telegrambot.js:47:66)
Jan 23 02:06:25 ambrosio-tele app/web.1: at Request.self.callback (/app/node_modules/request/request.js:186:22)
Jan 23 02:06:25 ambrosio-tele app/web.1: at emitTwo (events.js:106:13)
Jan 23 02:06:25 ambrosio-tele app/web.1: at Request.emit (events.js:191:7)
Jan 23 02:06:25 ambrosio-tele app/web.1: at Request.<anonymous> (/app/node_modules/request/request.js:1081:10)
Jan 23 02:06:25 ambrosio-tele app/web.1: at emitOne (events.js:96:13)
Jan 23 02:06:25 ambrosio-tele app/web.1: at Request.emit (events.js:188:7)
Jan 23 02:06:25 ambrosio-tele app/web.1: at IncomingMessage.<anonymous> (/app/node_modules/request/request.js:1001:12)
Jan 23 02:06:25 ambrosio-tele app/web.1: at IncomingMessage.g (events.js:291:16)
Jan 23 02:06:25 ambrosio-tele app/web.1: at emitNone (events.js:91:20)
Jan 23 02:06:25 ambrosio-tele app/web.1: at IncomingMessage.emit (events.js:185:7)
Jan 23 02:06:25 ambrosio-tele app/web.1: at endReadableNT (_stream_readable.js:974:12)
Jan 23 02:06:25 ambrosio-tele app/web.1: at _combinedTickCallback (internal/process/next_tick.js:74:11)
Jan 23 02:06:25 ambrosio-tele app/web.1: at process._tickCallback (internal/process/next_tick.js:98:9)
Notice the underscore in the msg.
Thanks, salud!
Forgot to say, I've markdown formated responses that work just fine, the problem appears with "unclosed" markdown ie: "_something_
" => something works, "some_thing" fails.
any progress? still failing on my side even with the workaround
Hm works with help but not better-help
I have the same issue with hubot-better-help doesent work with "hubot help" But does work when calling help on a command "hubot help adapter"
The issue is definitely the unclosed underscore.
curl -XPOST -H 'content-type: application/json' https://api.telegram.org/$TELEGRAM_TOKEN/sendMessage -d @/tmp/test.json
contents of /tmp/test.json should be
{
"chat_id": 344335405,
"text": "This unmatched_underscore breaks telegram markdown parsing",
"reply_to_message_id": 8,
"parse_mode": "Markdown"
}
response:
{"ok":false,"error_code":400,"description":"Bad Request: can't parse entities in message text: Can't find end of the entity starting at byte offset 14"}
I'm asking telegram bot help about this, I'll let you know what they say. Other markdown parsers that I've used will just leave a literal underscore when there's no second, closing underscore. And in fact that's how it works if you write an underscore in the web client, so I don't see why it should work differently for the bot API.
@gburgett Any update on this, I see the problem is persisting.
@surfer190 this was the latest info that I have from two years ago: https://github.com/CruAlbania/hubot-better-help/issues/3
You could repeat the curl command above and test whether their markdown parsing is still broken.
@gburgett Yes, same response.
http POST https://api.telegram.org/botXXX:YYY/sendMessage < test.json
returns:
{
"description": "Bad Request: can't parse entities: Can't find end of the entity starting at byte offset 14",
"error_code": 400,
"ok": false
}
Hello,
I've encountered the same problem as #41. I almost gave up on the idea to make hubot work with telegram but accidentally found a workaround.
If the bot name has an underscore in it, then the help command doesn't work (but all other commands work fine). See the debug log below.
All Telegram bots have _bot in the end of their names. Also if you want to address the bot in the group chat, its (hubot) name must be the same as Telegram bot name. And here is the problem, underscore characters in the name makes the help command fail.
The workaround I found is to have the (hubot) name without underscore and provide a convenient alias for addressing the bot from the chat. For example, use / character as alias, start the hubot like this
and in the group chat type
/command
instead of@botname command
I hope this helps.
My setup:
Debug log showing unsuccessful help and successful ping commands: