Skip to content

Commit 12d401c

Browse files
committed
fix: Parse command args before editing message, rename since:last_out_msg to since:lastout
1 parent aa80a05 commit 12d401c

4 files changed

Lines changed: 10 additions & 9 deletions

File tree

README.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ A Telegram userbot that summarises chat messages using AI.
99
- Summarise the last N messages in any chat
1010
- Summarise messages since a specific time (`since:07:00`, `since:DD-MM-YYYY_HH:MM`)
1111
- Summarise messages from the last N minutes, hours, or days (`last:5m`, `last:2h`, `last:1d`)
12-
- Summarise messages since your last outgoing message (`since:last_out_msg`)
12+
- Summarise messages since your last outgoing message (`since:lastout`)
1313
- Ask a specific question about the chat content alongside the summary
1414
- Works with any OpenAI-compatible or Anthropic-compatible AI provider
1515
- Customisable system prompt via a plain text file
@@ -164,7 +164,7 @@ Commands are sent as outgoing messages in any chat.
164164
| `/summary 50 What was decided about X?` | Summarise with a specific question |
165165
| `/summary since:07:00` | Messages since 07:00 today |
166166
| `/summary since:11-03-2026_07:00` | Messages since a specific date and time |
167-
| `/summary since:last_out_msg` | Messages since your last outgoing message |
167+
| `/summary since:lastout` | Messages since your last outgoing message |
168168
| `/summary last:30m` | Messages from the last 30 minutes |
169169
| `/summary last:2h` | Messages from the last 2 hours |
170170
| `/summary last:1d` | Messages from the last day |

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "telegram-summariser",
3-
"version": "2.0.1",
3+
"version": "2.0.2",
44
"description": "",
55
"main": "index.js",
66
"type": "module",

src/fetch-messages.ts

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -11,15 +11,15 @@ interface FetchMessagesParameters {
1111
type ParsedLimit =
1212
| { type: 'count'; value: number }
1313
| { type: 'date'; value: Date }
14-
| { type: 'last_out_msg' }
14+
| { type: 'lastout' }
1515

1616
const sleep = (ms: number) => new Promise(r => setTimeout(r, ms))
1717

1818
function parseLimit(limit: string): ParsedLimit {
1919
const zone = process.env.SUMMARY_TIMEZONE || process.env.TZ || 'Europe/Moscow'
2020

21-
if (limit === 'since:last_out_msg') {
22-
return { type: 'last_out_msg' }
21+
if (limit === 'since:lastout') {
22+
return { type: 'lastout' }
2323
}
2424

2525
// since:HH:MM — today at that time
@@ -58,7 +58,7 @@ function parseLimit(limit: string): ParsedLimit {
5858
const count = Number(limit)
5959
if (isNaN(count) || count <= 0) {
6060
throw new Error(
61-
`Invalid limit: "${limit}". Use a number, since:HH:MM, since:DD-MM-YYYY_HH:MM, last:Nm/Nh/Nd, or since:last_out_msg`
61+
`Invalid limit: "${limit}". Use a number, since:HH:MM, since:DD-MM-YYYY_HH:MM, last:Nm/Nh/Nd, or since:lastout`
6262
)
6363
}
6464
return { type: 'count', value: count }
@@ -138,7 +138,7 @@ export async function fetchMessages({
138138
return fetchByCount(client, chatId, parsed.value)
139139
case 'date':
140140
return fetchByDate(client, chatId, parsed.value)
141-
case 'last_out_msg':
141+
case 'lastout':
142142
return fetchSinceLastOutgoing(client, chatId)
143143
}
144144
}

src/index.ts

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,10 +31,11 @@ async function main() {
3131
tgClient.onNewMessage.add(async msg => {
3232
if (!msg.isOutgoing || !msg.text.startsWith('/summary')) return
3333

34+
const [limit, ...extraQuery] = msg.text.split(' ').slice(1)
35+
3436
appendMessage(tgClient, msg, 'Summarising: Fetching messages...')
3537

3638
try {
37-
const [limit, ...extraQuery] = msg.text.split(' ').slice(1)
3839
tgClient.log.warn(
3940
'Begin summarising: chat=%s, limit=%s, query=%s',
4041
msg.chat.id,

0 commit comments

Comments
 (0)