main.ts 1.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748
  1. import { Logger } from "telegram/extensions";
  2. import { TelegramClient } from "telegram";
  3. import { StringSession } from "telegram/sessions";
  4. import { NewMessage } from "telegram/events";
  5. import { NewMessageEvent } from "telegram/events/NewMessage";
  6. import { Message } from "telegram/tl/custom/message";
  7. const apiId = 0;
  8. const apiHash = "";
  9. const stringSession = "";
  10. async function eventPrint(event: NewMessageEvent) {
  11. const message = event.message as Message;
  12. // Checks if it's a private message (from user or bot)
  13. if (event.isPrivate) {
  14. // prints sender id
  15. console.log(message.senderId);
  16. // read message
  17. if (message.text == "hello") {
  18. const sender = await message.getSender();
  19. console.log("sender is", sender);
  20. await client.sendMessage(sender, {
  21. message: `hi your id is ${message.senderId}`,
  22. });
  23. }
  24. }
  25. }
  26. const client = new TelegramClient(
  27. new StringSession(stringSession),
  28. apiId,
  29. apiHash,
  30. { connectionRetries: 5 }
  31. );
  32. (async () => {
  33. Logger.setLevel("debug");
  34. console.log("Loading interactive example...");
  35. await client.start({
  36. botAuthToken: "",
  37. });
  38. console.log(await client.getEntity("me"));
  39. console.log(client.session.save());
  40. })();
  41. // adds an event handler for new messages
  42. client.addEventHandler(eventPrint, new NewMessage({}));