vk-to-telegram v0.4.6
vk to telegram forwarder
Installation
npm i vk-to-telegram --saveExample
const app = require('express')()
const bodyParser = require('body-parser')
const vkToTelegram = require('vk-to-telegram')
const vkToTg = new vkToTelegram({
  botToken: 'your bot token',
  chatName: 'telegram chat/channel name',
  ownerId: 'your telegram id', // number
  vkToken: 'your very long token from vk api',
  vkConfirmation: 'group confirmation'
})
app.use(bodyParser.json())
app.post('/', (req, res) => {
  vkToTg.send(req, res)
    .then(() => console.log('Done!'))
    .catch((err) => {
      console.log('Something went wrong')
      console.log(err)
    })
})
app.listen(80, ()=>{
  console.log('listening on port 80')
})What is this
It is a tool for express which using VK callback api forwards posts from group in channel or chat in Telegram!
async/await
Here's example with koa2
app.use(bodyParser())
app.use(async ctx => {
  const result = await vkToTg.send(ctx)
  console.log(result)
})Used by:
| AlexandriA (AAR) | PanzerSofa | Олег Ливанов | ongoing research | 
| аниреакт | Otaku Squad | disgusting otaku | Fond SpeedWagona | 
What content does it forward
| Content type | Works fully? | 
|---|---|
| Photo(s) | Yes | 
| Video(s) | Yes | 
| Document(s) | Yes | 
| Link | Yes | 
| Application Content | Yes | 
| Poll | Yes | 
| Audio(s) | NO. Why? Read here. | 
| Album(s) | Yes | 
| Graffiti | Not tested. | 
| Wiki Page | Not tested. | 
| Market item | Not tested. | 
| Sticker | Not tested. | 
Free usage
If you want to test this code, or use on a regular basis (via heroku), please contact me for setup.
Variables
| Variable | Type | Required | Description | 
|---|---|---|---|
| token | String | Yes | Bot token from Botfather | 
| chatName | String | Yes | Telegram channel or group link, like '@tavernofheroes' | 
| ownerId | Number | Yes | Your telegram id for sending error if they are. U can get know it from @getidsbot | 
| vkConfirmation | String | Yes | Confirmation string from ur group callback api server: | 
| vkToken | String | Yes | Follow the instructions below: | 
| 1. Create Standalone application here: https://vk.com/apps?act=manage | |||
| 2. Open settings in created application and copy application id | |||
| 3. Open this link with replace your application id: | |||
| https://oauth.vk.com/authorize?client_id=YOUR APPLICATION ID&display=page&redirect_uri=http://vk.com/&scope=offline,video,docs&response_type=token&v=5.81 | |||
| 4. Click allow all that need's and it's all! Your token is in query url, do not copy all link, only token without other params. | |||
| chatId | Number | Optional | If you know your chat/channel id, put it here, it will replace chatNameparameter | 
| fromId | Number | Optional | VK group id with '-'in start or nothing, if you don't need check. | 
| customVkButton | String | Optional | Title for button which will be added to each post to open it in VK | 
| customPollTitle | String | Optional | Custom template string in the title of button with URL to poll("Open poll" -> "Open poll - ${poll.question}") | 
| customLongPostText | String | Optional | Custom template string that replace full post text, because it's too long for Telegram(max 4096 characters) ("Too long post... Read full" -> "Too long post... \Read full" and parse as HTML) | 
| signed | String | Optional | Custom template string that add post signer in the end of Telegram message ("Post By" -> "\n\nPost by \${signer.first_name} ${signer.last_name}" and parse as HTML) | 
| heroku | Boolean | Optional | Add filter that stops forwarder if detect that post repeats(Because of app sleeping) | 
| herokuTimeout | Number | Optional | Heroku post delay between same posts | 
| secret | String | Optional | Secret field from vk admin panel to verify that post has come from VK | 
| filterByWord | String | Optional | Filter posts by key word(s) (use ',' as separator) (use '-' in begin of word to invert) | 
| filterByHashtag | String | Optional | Filter posts by hashtag (use ',' as separator) (use '-' in begin of word to invert) | 
| ads | Boolean | Optional | Forward posts marked as ads? (By default true) | 
| repostAds | Boolean | Optional | Forward reposts marked as ads? (By default true) | 
| appendText | String | Optional | Append text to forwarded post (can be used for hashtags for channel navigation) | 
| prependText | String | Optional | Same as appendTextbut it's will prepend it in the start of post text | 
| repost | Boolean | Optional | Allow to forward post with repost (By default true) | 
| sendNativePoll | Boolean | Optional | Use native Telegram poll instead of link to poll in VK, set falseto use poll in VK | 
| criedHalfBea | Boolean | Optional | Use Z sized pictures as max. (Reduces pictures aliasing) | 
- DON'T forget to pick in your vk group api dashboard event type 'WALL POST - NEW'.
- Recommend to use vk api v5.103
Contact
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
8 years ago
8 years ago
8 years ago
8 years ago
8 years ago
8 years ago
8 years ago
8 years ago
8 years ago
8 years ago
8 years ago
8 years ago
8 years ago
8 years ago