nestjs-telegraf/lib/telegraf-telegram.service.ts
2020-01-12 10:53:45 +03:00

34 lines
835 B
TypeScript

import { Injectable, Inject } from '@nestjs/common'
const Telegram = require('telegraf/telegram')
import { TokenInjectionToken } from './telegraf.constants'
import { TelegrafOptionsFactory } from './interfaces'
@Injectable()
export class TelegrafTelegramService {
private telegram: any
public constructor(
@Inject(TokenInjectionToken) options: TelegrafOptionsFactory,
) {
const { token } = options.createTelegrafOptions()
this.telegram = new Telegram(token)
}
public async sendMessage(
chatId: string | number,
text: string,
): Promise<void> {
await this.telegram.sendMessage(chatId, text)
}
public async sendMarkdown(
chatId: string | number,
markdown: string,
): Promise<void> {
await this.telegram.sendMessage(chatId, markdown, {
parse_mode: 'Markdown',
})
}
}