@ebowwa/channel-telegram 1.17.1 → 1.17.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.d.ts +57 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +391 -1
- package/dist/index.js.map +1 -1
- package/dist/types.d.ts +96 -0
- package/dist/types.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/index.ts +486 -2
- package/src/types.ts +105 -0
package/dist/index.d.ts
CHANGED
|
@@ -16,10 +16,10 @@
|
|
|
16
16
|
import TelegramBot from "node-telegram-bot-api";
|
|
17
17
|
import { type ChannelId, type ChannelResponse, type ChannelCapabilities, type MessageHandler } from "@ebowwa/channel-types";
|
|
18
18
|
import { ConversationMemory } from "./conversation-memory.js";
|
|
19
|
-
import type { Tool } from "./types.js";
|
|
19
|
+
import type { Tool, LiveLocationState, SendLocationOptions, EditLiveLocationOptions } from "./types.js";
|
|
20
20
|
export { ConversationMemory } from "./conversation-memory.js";
|
|
21
21
|
export { registerAllCommands, isQuiet } from "./commands/index.js";
|
|
22
|
-
export type { Tool, MessageEntity, MessageEntityType, TelegramUser, ConversationMessage, ReactionType, ReactionTypeEmoji, ReactionTypeCustomEmoji, ChatMember, ChatMemberMember, ChatMemberRestricted, ChatMemberAdministrator, ChatPermissions, ChatAdministratorRights, SendMessageDraftParams, SetMessageReactionParams, SetChatMemberTagParams, PromoteChatMemberParams, LinkPreviewOptions, } from "./types.js";
|
|
22
|
+
export type { Tool, MessageEntity, MessageEntityType, TelegramUser, ConversationMessage, ReactionType, ReactionTypeEmoji, ReactionTypeCustomEmoji, ChatMember, ChatMemberMember, ChatMemberRestricted, ChatMemberAdministrator, ChatPermissions, ChatAdministratorRights, SendMessageDraftParams, SetMessageReactionParams, SetChatMemberTagParams, PromoteChatMemberParams, LinkPreviewOptions, TelegramLocation, TelegramVenue, LiveLocationState, SendLocationOptions, EditLiveLocationOptions, } from "./types.js";
|
|
23
23
|
export { normalizeTelegramMessagingTarget, looksLikeTelegramTargetId, extractRawTarget, isUsernameTarget, isNumericIdTarget, } from "./utils/index.js";
|
|
24
24
|
export interface TelegramConfig {
|
|
25
25
|
botToken: string;
|
|
@@ -53,6 +53,9 @@ export declare class TelegramChannel {
|
|
|
53
53
|
private typingIntervals;
|
|
54
54
|
private connected;
|
|
55
55
|
private activeStreams;
|
|
56
|
+
private liveLocations;
|
|
57
|
+
private liveLocationCleanupInterval?;
|
|
58
|
+
private locationData;
|
|
56
59
|
constructor(config: TelegramConfig);
|
|
57
60
|
start(): Promise<void>;
|
|
58
61
|
stop(): Promise<void>;
|
|
@@ -112,6 +115,58 @@ export declare class TelegramChannel {
|
|
|
112
115
|
* Check if user/chat is allowed.
|
|
113
116
|
*/
|
|
114
117
|
isAllowed(userId?: number, chatId?: number): boolean;
|
|
118
|
+
/**
|
|
119
|
+
* Send a static or live location.
|
|
120
|
+
* If live_period is set, the location can be updated with editLiveLocation.
|
|
121
|
+
*/
|
|
122
|
+
sendLocation(chatId: number, options: SendLocationOptions): Promise<TelegramBot.Message>;
|
|
123
|
+
/**
|
|
124
|
+
* Edit a live location message.
|
|
125
|
+
* Updates the location and returns the edited message.
|
|
126
|
+
*/
|
|
127
|
+
editLiveLocation(chatId: number, messageId: number, options: EditLiveLocationOptions): Promise<TelegramBot.Message | boolean>;
|
|
128
|
+
/**
|
|
129
|
+
* Stop a live location message.
|
|
130
|
+
* The location will no longer update.
|
|
131
|
+
*/
|
|
132
|
+
stopLiveLocation(chatId: number, messageId: number): Promise<TelegramBot.Message | boolean>;
|
|
133
|
+
/**
|
|
134
|
+
* Get live location state for a specific message.
|
|
135
|
+
*/
|
|
136
|
+
getLiveLocation(chatId: number, messageId: number): LiveLocationState | undefined;
|
|
137
|
+
/**
|
|
138
|
+
* Get all active live locations being tracked.
|
|
139
|
+
*/
|
|
140
|
+
getActiveLiveLocations(): LiveLocationState[];
|
|
141
|
+
/**
|
|
142
|
+
* Get live locations shared by a specific user.
|
|
143
|
+
*/
|
|
144
|
+
getLiveLocationsByUser(userId: number): LiveLocationState[];
|
|
145
|
+
/**
|
|
146
|
+
* Clean up expired live locations.
|
|
147
|
+
*/
|
|
148
|
+
private cleanupExpiredLiveLocations;
|
|
149
|
+
/**
|
|
150
|
+
* Start the live location cleanup timer (runs every 5 minutes).
|
|
151
|
+
*/
|
|
152
|
+
private startLiveLocationCleanupTimer;
|
|
153
|
+
/**
|
|
154
|
+
* Start periodic cleanup of expired live locations.
|
|
155
|
+
*/
|
|
156
|
+
private startLiveLocationCleanup;
|
|
157
|
+
/**
|
|
158
|
+
* Stop live location cleanup interval.
|
|
159
|
+
*/
|
|
160
|
+
private stopLiveLocationCleanup;
|
|
161
|
+
/**
|
|
162
|
+
* Handle incoming location message (static or live).
|
|
163
|
+
* Updates internal tracking and routes to message handler.
|
|
164
|
+
*/
|
|
165
|
+
private handleLocationMessage;
|
|
166
|
+
/**
|
|
167
|
+
* Handle live location update (edited_message with location).
|
|
168
|
+
*/
|
|
169
|
+
private handleLocationUpdate;
|
|
115
170
|
private setupMessageHandlers;
|
|
116
171
|
/**
|
|
117
172
|
* Register Telegram command menu
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,WAAW,MAAM,uBAAuB,CAAC;AAEhD,OAAO,EACL,KAAK,SAAS,EAEd,KAAK,eAAe,EACpB,KAAK,mBAAmB,EAGxB,KAAK,cAAc,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -72,6 +72,11 @@ export class TelegramChannel {
|
|
|
72
72
|
connected = false;
|
|
73
73
|
// Streaming state
|
|
74
74
|
activeStreams = new Map();
|
|
75
|
+
// Live location tracking state
|
|
76
|
+
liveLocations = new Map();
|
|
77
|
+
liveLocationCleanupInterval;
|
|
78
|
+
// Location data storage for message metadata
|
|
79
|
+
locationData = new Map();
|
|
75
80
|
constructor(config) {
|
|
76
81
|
this.config = config;
|
|
77
82
|
this.id = createChannelId("telegram", "default");
|
|
@@ -92,6 +97,9 @@ export class TelegramChannel {
|
|
|
92
97
|
reactions: true,
|
|
93
98
|
editing: true,
|
|
94
99
|
streaming: this.nativeStreaming,
|
|
100
|
+
locations: true,
|
|
101
|
+
liveLocations: true,
|
|
102
|
+
venues: true,
|
|
95
103
|
},
|
|
96
104
|
media: {
|
|
97
105
|
maxFileSize: 50 * 1024 * 1024, // 50MB
|
|
@@ -118,6 +126,8 @@ export class TelegramChannel {
|
|
|
118
126
|
},
|
|
119
127
|
},
|
|
120
128
|
});
|
|
129
|
+
// Start live location cleanup interval (every 5 minutes)
|
|
130
|
+
this.startLiveLocationCleanupTimer();
|
|
121
131
|
// NOTE: Commands are NOT registered here with bot.onText() handlers.
|
|
122
132
|
// Instead, all messages (including commands) flow through the message event
|
|
123
133
|
// to the daemon's messageHandler, which uses @ebowwa/channel-command for unified handling.
|
|
@@ -132,6 +142,13 @@ export class TelegramChannel {
|
|
|
132
142
|
}
|
|
133
143
|
async stop() {
|
|
134
144
|
console.log("[TelegramChannel] Stopping...");
|
|
145
|
+
// Stop live location cleanup timer
|
|
146
|
+
if (this.liveLocationCleanupInterval) {
|
|
147
|
+
clearInterval(this.liveLocationCleanupInterval);
|
|
148
|
+
this.liveLocationCleanupInterval = undefined;
|
|
149
|
+
}
|
|
150
|
+
// Clear all live locations
|
|
151
|
+
this.liveLocations.clear();
|
|
135
152
|
await this.bot.stopPolling();
|
|
136
153
|
this.connected = false;
|
|
137
154
|
}
|
|
@@ -385,12 +402,366 @@ export class TelegramChannel {
|
|
|
385
402
|
return false;
|
|
386
403
|
}
|
|
387
404
|
// ============================================================
|
|
405
|
+
// Live Location Methods
|
|
406
|
+
// ============================================================
|
|
407
|
+
/**
|
|
408
|
+
* Send a static or live location.
|
|
409
|
+
* If live_period is set, the location can be updated with editLiveLocation.
|
|
410
|
+
*/
|
|
411
|
+
async sendLocation(chatId, options) {
|
|
412
|
+
const result = await this.bot.sendLocation(chatId, options.latitude, options.longitude, {
|
|
413
|
+
live_period: options.live_period,
|
|
414
|
+
disable_notification: options.disable_notification,
|
|
415
|
+
});
|
|
416
|
+
// Track live location if live_period is set
|
|
417
|
+
if (options.live_period && result.location) {
|
|
418
|
+
const key = `${chatId}:${result.message_id}`;
|
|
419
|
+
const expiresAt = options.live_period
|
|
420
|
+
? new Date(Date.now() + options.live_period * 1000)
|
|
421
|
+
: undefined;
|
|
422
|
+
const locationData = {
|
|
423
|
+
latitude: result.location.latitude,
|
|
424
|
+
longitude: result.location.longitude,
|
|
425
|
+
live_period: options.live_period,
|
|
426
|
+
heading: options.heading,
|
|
427
|
+
horizontal_accuracy: options.horizontal_accuracy,
|
|
428
|
+
proximity_alert_radius: options.proximity_alert_radius,
|
|
429
|
+
};
|
|
430
|
+
this.liveLocations.set(key, {
|
|
431
|
+
chatId,
|
|
432
|
+
messageId: result.message_id,
|
|
433
|
+
userId: result.from?.id || 0,
|
|
434
|
+
location: locationData,
|
|
435
|
+
startedAt: new Date(),
|
|
436
|
+
expiresAt,
|
|
437
|
+
updateCount: 0,
|
|
438
|
+
});
|
|
439
|
+
console.log(`[TelegramChannel] Started tracking live location: ${key}, expires in ${options.live_period}s`);
|
|
440
|
+
}
|
|
441
|
+
return result;
|
|
442
|
+
}
|
|
443
|
+
/**
|
|
444
|
+
* Edit a live location message.
|
|
445
|
+
* Updates the location and returns the edited message.
|
|
446
|
+
*/
|
|
447
|
+
async editLiveLocation(chatId, messageId, options) {
|
|
448
|
+
const result = await this.bot.editMessageLiveLocation(options.latitude, options.longitude, {
|
|
449
|
+
chat_id: chatId,
|
|
450
|
+
message_id: messageId,
|
|
451
|
+
});
|
|
452
|
+
// Update tracked state
|
|
453
|
+
const key = `${chatId}:${messageId}`;
|
|
454
|
+
const state = this.liveLocations.get(key);
|
|
455
|
+
if (state) {
|
|
456
|
+
state.location = {
|
|
457
|
+
...state.location,
|
|
458
|
+
latitude: options.latitude,
|
|
459
|
+
longitude: options.longitude,
|
|
460
|
+
horizontal_accuracy: options.horizontal_accuracy,
|
|
461
|
+
heading: options.heading,
|
|
462
|
+
proximity_alert_radius: options.proximity_alert_radius,
|
|
463
|
+
};
|
|
464
|
+
state.updateCount++;
|
|
465
|
+
console.log(`[TelegramChannel] Updated live location: ${key} (update #${state.updateCount})`);
|
|
466
|
+
}
|
|
467
|
+
return result;
|
|
468
|
+
}
|
|
469
|
+
/**
|
|
470
|
+
* Stop a live location message.
|
|
471
|
+
* The location will no longer update.
|
|
472
|
+
*/
|
|
473
|
+
async stopLiveLocation(chatId, messageId) {
|
|
474
|
+
const result = await this.bot.stopMessageLiveLocation({
|
|
475
|
+
chat_id: chatId,
|
|
476
|
+
message_id: messageId,
|
|
477
|
+
});
|
|
478
|
+
// Remove from tracking
|
|
479
|
+
const key = `${chatId}:${messageId}`;
|
|
480
|
+
const state = this.liveLocations.get(key);
|
|
481
|
+
if (state) {
|
|
482
|
+
console.log(`[TelegramChannel] Stopped live location: ${key} (had ${state.updateCount} updates)`);
|
|
483
|
+
this.liveLocations.delete(key);
|
|
484
|
+
}
|
|
485
|
+
return result;
|
|
486
|
+
}
|
|
487
|
+
/**
|
|
488
|
+
* Get live location state for a specific message.
|
|
489
|
+
*/
|
|
490
|
+
getLiveLocation(chatId, messageId) {
|
|
491
|
+
const key = `${chatId}:${messageId}`;
|
|
492
|
+
return this.liveLocations.get(key);
|
|
493
|
+
}
|
|
494
|
+
/**
|
|
495
|
+
* Get all active live locations being tracked.
|
|
496
|
+
*/
|
|
497
|
+
getActiveLiveLocations() {
|
|
498
|
+
// Clean up expired locations first
|
|
499
|
+
this.cleanupExpiredLiveLocations();
|
|
500
|
+
return Array.from(this.liveLocations.values());
|
|
501
|
+
}
|
|
502
|
+
/**
|
|
503
|
+
* Get live locations shared by a specific user.
|
|
504
|
+
*/
|
|
505
|
+
getLiveLocationsByUser(userId) {
|
|
506
|
+
this.cleanupExpiredLiveLocations();
|
|
507
|
+
return Array.from(this.liveLocations.values()).filter((state) => state.userId === userId);
|
|
508
|
+
}
|
|
509
|
+
/**
|
|
510
|
+
* Clean up expired live locations.
|
|
511
|
+
*/
|
|
512
|
+
cleanupExpiredLiveLocations() {
|
|
513
|
+
const now = new Date();
|
|
514
|
+
for (const [key, state] of this.liveLocations) {
|
|
515
|
+
if (state.expiresAt && state.expiresAt < now) {
|
|
516
|
+
console.log(`[TelegramChannel] Cleaned up expired live location: ${key}`);
|
|
517
|
+
this.liveLocations.delete(key);
|
|
518
|
+
}
|
|
519
|
+
}
|
|
520
|
+
}
|
|
521
|
+
/**
|
|
522
|
+
* Start the live location cleanup timer (runs every 5 minutes).
|
|
523
|
+
*/
|
|
524
|
+
startLiveLocationCleanupTimer() {
|
|
525
|
+
// Clean up every 5 minutes
|
|
526
|
+
this.liveLocationCleanupInterval = setInterval(() => {
|
|
527
|
+
this.cleanupExpiredLiveLocations();
|
|
528
|
+
}, 5 * 60 * 1000);
|
|
529
|
+
console.log("[TelegramChannel] Started live location cleanup timer");
|
|
530
|
+
}
|
|
531
|
+
/**
|
|
532
|
+
* Start periodic cleanup of expired live locations.
|
|
533
|
+
*/
|
|
534
|
+
startLiveLocationCleanup() {
|
|
535
|
+
// Clean up every 5 minutes
|
|
536
|
+
this.liveLocationCleanupInterval = setInterval(() => {
|
|
537
|
+
this.cleanupExpiredLiveLocations();
|
|
538
|
+
}, 5 * 60 * 1000);
|
|
539
|
+
}
|
|
540
|
+
/**
|
|
541
|
+
* Stop live location cleanup interval.
|
|
542
|
+
*/
|
|
543
|
+
stopLiveLocationCleanup() {
|
|
544
|
+
if (this.liveLocationCleanupInterval) {
|
|
545
|
+
clearInterval(this.liveLocationCleanupInterval);
|
|
546
|
+
this.liveLocationCleanupInterval = undefined;
|
|
547
|
+
}
|
|
548
|
+
}
|
|
549
|
+
/**
|
|
550
|
+
* Handle incoming location message (static or live).
|
|
551
|
+
* Updates internal tracking and routes to message handler.
|
|
552
|
+
*/
|
|
553
|
+
handleLocationMessage(msg) {
|
|
554
|
+
if (!msg.location)
|
|
555
|
+
return null;
|
|
556
|
+
// Cast to extended location type that includes all Telegram properties
|
|
557
|
+
const rawLocation = msg.location;
|
|
558
|
+
const location = {
|
|
559
|
+
latitude: rawLocation.latitude,
|
|
560
|
+
longitude: rawLocation.longitude,
|
|
561
|
+
horizontal_accuracy: rawLocation.horizontal_accuracy,
|
|
562
|
+
live_period: rawLocation.live_period,
|
|
563
|
+
heading: rawLocation.heading,
|
|
564
|
+
proximity_alert_radius: rawLocation.proximity_alert_radius,
|
|
565
|
+
};
|
|
566
|
+
// Track live locations from users
|
|
567
|
+
if (location.live_period) {
|
|
568
|
+
const key = `${msg.chat.id}:${msg.message_id}`;
|
|
569
|
+
const expiresAt = new Date(Date.now() + location.live_period * 1000);
|
|
570
|
+
this.liveLocations.set(key, {
|
|
571
|
+
chatId: msg.chat.id,
|
|
572
|
+
messageId: msg.message_id,
|
|
573
|
+
userId: msg.from?.id || 0,
|
|
574
|
+
location,
|
|
575
|
+
startedAt: new Date(),
|
|
576
|
+
expiresAt,
|
|
577
|
+
updateCount: 0,
|
|
578
|
+
});
|
|
579
|
+
console.log(`[TelegramChannel] Tracking user live location: ${key}, expires in ${location.live_period}s`);
|
|
580
|
+
}
|
|
581
|
+
// Create ChannelMessage
|
|
582
|
+
const sender = {
|
|
583
|
+
id: msg.from?.id?.toString() || msg.chat.id.toString(),
|
|
584
|
+
username: msg.from?.username,
|
|
585
|
+
displayName: msg.from?.first_name || msg.from?.username || "User",
|
|
586
|
+
isBot: msg.from?.is_bot || false,
|
|
587
|
+
};
|
|
588
|
+
const context = {
|
|
589
|
+
isDM: msg.chat.type === "private",
|
|
590
|
+
groupName: msg.chat.type !== "private" ? msg.chat.title : undefined,
|
|
591
|
+
};
|
|
592
|
+
const chatChannelId = createChannelId("telegram", msg.chat.id.toString());
|
|
593
|
+
// Build text representation for location
|
|
594
|
+
const locationText = location.live_period
|
|
595
|
+
? `[Live Location] ${location.latitude.toFixed(6)}, ${location.longitude.toFixed(6)} (live for ${Math.floor(location.live_period / 60)}m)`
|
|
596
|
+
: `[Location] ${location.latitude.toFixed(6)}, ${location.longitude.toFixed(6)}`;
|
|
597
|
+
// Store location info in a separate map for retrieval
|
|
598
|
+
const locationKey = `${chatChannelId.accountId}:${msg.message_id}`;
|
|
599
|
+
this.locationData.set(locationKey, {
|
|
600
|
+
type: "location",
|
|
601
|
+
location,
|
|
602
|
+
isLive: !!location.live_period,
|
|
603
|
+
venue: msg.venue,
|
|
604
|
+
});
|
|
605
|
+
// Build media attachment with location data
|
|
606
|
+
const media = [];
|
|
607
|
+
if (location.live_period) {
|
|
608
|
+
// Live location
|
|
609
|
+
media.push({
|
|
610
|
+
type: "location",
|
|
611
|
+
location: {
|
|
612
|
+
type: "live",
|
|
613
|
+
latitude: location.latitude,
|
|
614
|
+
longitude: location.longitude,
|
|
615
|
+
accuracy: location.horizontal_accuracy,
|
|
616
|
+
heading: location.heading,
|
|
617
|
+
sessionId: `live_${msg.chat.id}_${msg.message_id}`,
|
|
618
|
+
startedAt: new Date(msg.date * 1000),
|
|
619
|
+
expiresAt: new Date(Date.now() + location.live_period * 1000),
|
|
620
|
+
livePeriod: location.live_period,
|
|
621
|
+
updateCount: 0,
|
|
622
|
+
status: "active",
|
|
623
|
+
},
|
|
624
|
+
});
|
|
625
|
+
}
|
|
626
|
+
else {
|
|
627
|
+
// Static location
|
|
628
|
+
media.push({
|
|
629
|
+
type: "location",
|
|
630
|
+
location: {
|
|
631
|
+
type: "static",
|
|
632
|
+
latitude: location.latitude,
|
|
633
|
+
longitude: location.longitude,
|
|
634
|
+
accuracy: location.horizontal_accuracy,
|
|
635
|
+
heading: location.heading,
|
|
636
|
+
timestamp: new Date(msg.date * 1000),
|
|
637
|
+
},
|
|
638
|
+
});
|
|
639
|
+
}
|
|
640
|
+
// Add venue info if present
|
|
641
|
+
if (msg.venue) {
|
|
642
|
+
media.push({
|
|
643
|
+
type: "venue",
|
|
644
|
+
location: {
|
|
645
|
+
type: "static",
|
|
646
|
+
latitude: location.latitude,
|
|
647
|
+
longitude: location.longitude,
|
|
648
|
+
timestamp: new Date(msg.date * 1000),
|
|
649
|
+
label: msg.venue.title,
|
|
650
|
+
address: msg.venue.address,
|
|
651
|
+
},
|
|
652
|
+
});
|
|
653
|
+
}
|
|
654
|
+
return {
|
|
655
|
+
messageId: msg.message_id.toString(),
|
|
656
|
+
channelId: chatChannelId,
|
|
657
|
+
timestamp: new Date(msg.date * 1000),
|
|
658
|
+
sender,
|
|
659
|
+
text: locationText,
|
|
660
|
+
media,
|
|
661
|
+
context,
|
|
662
|
+
};
|
|
663
|
+
}
|
|
664
|
+
/**
|
|
665
|
+
* Handle live location update (edited_message with location).
|
|
666
|
+
*/
|
|
667
|
+
handleLocationUpdate(msg) {
|
|
668
|
+
if (!msg.location)
|
|
669
|
+
return null;
|
|
670
|
+
const key = `${msg.chat.id}:${msg.message_id}`;
|
|
671
|
+
const state = this.liveLocations.get(key);
|
|
672
|
+
// Cast to extended location type
|
|
673
|
+
const rawLocation = msg.location;
|
|
674
|
+
if (state) {
|
|
675
|
+
// Update tracked location
|
|
676
|
+
state.location = {
|
|
677
|
+
latitude: rawLocation.latitude,
|
|
678
|
+
longitude: rawLocation.longitude,
|
|
679
|
+
horizontal_accuracy: rawLocation.horizontal_accuracy,
|
|
680
|
+
heading: rawLocation.heading,
|
|
681
|
+
proximity_alert_radius: rawLocation.proximity_alert_radius,
|
|
682
|
+
live_period: rawLocation.live_period,
|
|
683
|
+
};
|
|
684
|
+
state.updateCount++;
|
|
685
|
+
console.log(`[TelegramChannel] Live location update: ${key} (update #${state.updateCount})`);
|
|
686
|
+
}
|
|
687
|
+
// Create ChannelMessage for the update
|
|
688
|
+
const sender = {
|
|
689
|
+
id: msg.from?.id?.toString() || msg.chat.id.toString(),
|
|
690
|
+
username: msg.from?.username,
|
|
691
|
+
displayName: msg.from?.first_name || msg.from?.username || "User",
|
|
692
|
+
isBot: msg.from?.is_bot || false,
|
|
693
|
+
};
|
|
694
|
+
const context = {
|
|
695
|
+
isDM: msg.chat.type === "private",
|
|
696
|
+
groupName: msg.chat.type !== "private" ? msg.chat.title : undefined,
|
|
697
|
+
};
|
|
698
|
+
const chatChannelId = createChannelId("telegram", msg.chat.id.toString());
|
|
699
|
+
// Store location update info
|
|
700
|
+
const locationKey = `${chatChannelId.accountId}:${msg.message_id}`;
|
|
701
|
+
this.locationData.set(locationKey, {
|
|
702
|
+
type: "location_update",
|
|
703
|
+
location: {
|
|
704
|
+
latitude: rawLocation.latitude,
|
|
705
|
+
longitude: rawLocation.longitude,
|
|
706
|
+
horizontal_accuracy: rawLocation.horizontal_accuracy,
|
|
707
|
+
heading: rawLocation.heading,
|
|
708
|
+
proximity_alert_radius: rawLocation.proximity_alert_radius,
|
|
709
|
+
},
|
|
710
|
+
isLive: true,
|
|
711
|
+
updateNumber: state?.updateCount || 0,
|
|
712
|
+
});
|
|
713
|
+
// Build media attachment with live location update data
|
|
714
|
+
const media = [{
|
|
715
|
+
type: "location",
|
|
716
|
+
location: {
|
|
717
|
+
type: "live",
|
|
718
|
+
latitude: rawLocation.latitude,
|
|
719
|
+
longitude: rawLocation.longitude,
|
|
720
|
+
accuracy: rawLocation.horizontal_accuracy,
|
|
721
|
+
heading: rawLocation.heading,
|
|
722
|
+
sessionId: `live_${msg.chat.id}_${msg.message_id}`,
|
|
723
|
+
startedAt: state?.startedAt || new Date(msg.date * 1000),
|
|
724
|
+
expiresAt: state?.expiresAt,
|
|
725
|
+
updateCount: state?.updateCount || 0,
|
|
726
|
+
status: "active",
|
|
727
|
+
},
|
|
728
|
+
}];
|
|
729
|
+
return {
|
|
730
|
+
messageId: msg.message_id.toString(),
|
|
731
|
+
channelId: chatChannelId,
|
|
732
|
+
timestamp: new Date(msg.date * 1000),
|
|
733
|
+
sender,
|
|
734
|
+
text: `[Live Location Update] ${rawLocation.latitude.toFixed(6)}, ${rawLocation.longitude.toFixed(6)}`,
|
|
735
|
+
media,
|
|
736
|
+
context,
|
|
737
|
+
};
|
|
738
|
+
}
|
|
739
|
+
// ============================================================
|
|
388
740
|
// Message Routing (Internal)
|
|
389
741
|
// ============================================================
|
|
390
742
|
setupMessageHandlers() {
|
|
391
743
|
// Text messages - all go to the daemon's messageHandler (including commands)
|
|
392
744
|
// The daemon uses @ebowwa/channel-command for unified command handling with full context
|
|
393
745
|
this.bot.on("message", async (msg) => {
|
|
746
|
+
// Check for location messages first
|
|
747
|
+
if (msg.location) {
|
|
748
|
+
if (!this.isAllowed(msg.from?.id, msg.chat.id))
|
|
749
|
+
return;
|
|
750
|
+
const message = this.handleLocationMessage(msg);
|
|
751
|
+
if (message && this.messageHandler) {
|
|
752
|
+
console.log(`[TelegramChannel] Location from ${message.sender.displayName}: ${message.text}`);
|
|
753
|
+
try {
|
|
754
|
+
const response = await this.messageHandler(message);
|
|
755
|
+
if (response) {
|
|
756
|
+
await this.send(response);
|
|
757
|
+
}
|
|
758
|
+
}
|
|
759
|
+
catch (error) {
|
|
760
|
+
console.error("[TelegramChannel] Location handler error:", error);
|
|
761
|
+
}
|
|
762
|
+
}
|
|
763
|
+
return;
|
|
764
|
+
}
|
|
394
765
|
if (!msg.text)
|
|
395
766
|
return;
|
|
396
767
|
// All messages flow to the daemon, including commands
|
|
@@ -412,8 +783,27 @@ export class TelegramChannel {
|
|
|
412
783
|
}
|
|
413
784
|
}
|
|
414
785
|
});
|
|
415
|
-
// Edited messages
|
|
786
|
+
// Edited messages (includes live location updates)
|
|
416
787
|
this.bot.on("edited_message", async (msg) => {
|
|
788
|
+
// Handle live location updates
|
|
789
|
+
if (msg.location) {
|
|
790
|
+
if (!this.isAllowed(msg.from?.id, msg.chat.id))
|
|
791
|
+
return;
|
|
792
|
+
const message = this.handleLocationUpdate(msg);
|
|
793
|
+
if (message && this.messageHandler) {
|
|
794
|
+
console.log(`[TelegramChannel] Live location update from ${message.sender.displayName}`);
|
|
795
|
+
try {
|
|
796
|
+
const response = await this.messageHandler(message);
|
|
797
|
+
if (response) {
|
|
798
|
+
await this.send(response);
|
|
799
|
+
}
|
|
800
|
+
}
|
|
801
|
+
catch (error) {
|
|
802
|
+
console.error("[TelegramChannel] Location update handler error:", error);
|
|
803
|
+
}
|
|
804
|
+
}
|
|
805
|
+
return;
|
|
806
|
+
}
|
|
417
807
|
if (!msg.text)
|
|
418
808
|
return;
|
|
419
809
|
if (!this.isAllowed(msg.from?.id, msg.chat.id))
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|