Add advanced GC
This commit is contained in:
parent
3e5e48f6c6
commit
74d0fc9ab1
27
README.md
27
README.md
@ -2,19 +2,28 @@
|
|||||||
## Description
|
## Description
|
||||||
This bot can download music and videos from youtube.
|
This bot can download music and videos from youtube.
|
||||||
## Installation
|
## Installation
|
||||||
### Docker
|
|
||||||
|
### Step 1
|
||||||
1) Install docker (how you can install it on linux: https://fullgream.tech/knowledge-base?post=docker-install)
|
1) Install docker (how you can install it on linux: https://fullgream.tech/knowledge-base?post=docker-install)
|
||||||
2) Clone repository: `git clone https://git.fullgream.tech/fullgream/telegram_ytdlp_node.js.git`
|
2) Clone repository: `git clone https://git.fullgream.tech/fullgream/telegram_ytdlp_node.js.git`
|
||||||
3) Create file `cookies.txt` in program directory *(You can use **Get cookies.txt loccaly**: https://chromewebstore.google.com/detail/get-cookiestxt-locally/cclelndahbckbenkjhflpdbgdldlbecc)*
|
### Step 2. If you will use MTProto API
|
||||||
4) Create telegram bot, get token: https://t.me/BotFather
|
1) Go to [https://my.telegram.org/apps](Telegram API Development Tools). And create API_ID and API Hash.
|
||||||
5) Edit file .env
|
2) Go to `/src-tg` folder in clonned folder
|
||||||
|
3) Run docker container with command: `docker build -t telegram_create_session . && docker run -it --rm telegram_create_session && docker rmi telegram_create_session`
|
||||||
|
4) Type all answers
|
||||||
|
5) Write to `.env` file SESSION value and go to `..`. (Next steps of next part from step 3)
|
||||||
|
### Step 3
|
||||||
|
1) Create file `cookies.txt` in program directory *(You can use **Get cookies.txt loccaly**: https://chromewebstore.google.com/detail/get-cookiestxt-locally/cclelndahbckbenkjhflpdbgdldlbecc)*
|
||||||
|
2) Create telegram bot, get token: https://t.me/BotFather
|
||||||
|
3) Edit file .env
|
||||||
```env
|
```env
|
||||||
BOT_TOKEN=<YOUR_TELEGRAM_BOT_TOKEN>
|
BOT_TOKEN=<YOUR_TELEGRAM_BOT_TOKEN>
|
||||||
ADMIN_LIST=<Admin ID list, separate ", "> (example: 123,321, 678, 911 , 228)
|
ADMIN_LIST=<Admin ID list, separate ", "> (example: 123,321, 678, 911 , 228)
|
||||||
WHITELIST=<User list, separate ", " (Important: Admin list will add to whitelist automatly)> (example: 123,321, 678, 911 , 228)
|
WHITELIST=<User list, separate ", " (Important: Admin list will add to whitelist automatly)> (example: 123,321, 678, 911 , 228)
|
||||||
SHOW_ALL_FORMATS=<Show all formats from video (1, 0 - Only '.mp4', 'm4a')>
|
API_ID=<If you use MTProto API. Type here API_ID from Telegram API Development Tools>
|
||||||
|
API_HASH=<If you use MTProto API. Type here API_HASH from Telegram API Development Tools>
|
||||||
|
API_SESSION=<If you use MTProto API. Type here API_SESSION from Session get script (Step 2)>
|
||||||
|
CHAT_ID=<If you use MTProto API. ID of chat. You can send new message and chat and use command: curl -s "https://api.telegram.org/bot$BOT_TOKEN/getUpdates" (REPLACE '$BOT_TOKEN' to Your Bot token!!!)>
|
||||||
```
|
```
|
||||||
6) Build docker container:
|
4) Build docker container: `docker build -t ytdlp_node:release .`
|
||||||
`docker build -t ytdlp_node:release .`
|
5) Up docker container: `docker run -d --name ytdlp_node --restart unless-stopped --env-file .env -v "$(pwd)/cookies.txt:/app/cookies.txt" ytdlp_node:release`
|
||||||
7) Up docker container:
|
|
||||||
`docker run -d --name ytdlp_node --restart unless-stopped --env-file .env -v "$(pwd)/cookies.txt:/app/cookies.txt" ytdlp_node:release`
|
|
||||||
|
|||||||
@ -262,7 +262,7 @@ class VideosGarbageCollector {
|
|||||||
}
|
}
|
||||||
|
|
||||||
removeTemp () {
|
removeTemp () {
|
||||||
if (Object.keys(tgChatsDownloaded) === 0)
|
if (Object.keys(tgChatsDownloaded).length === 0)
|
||||||
removeTemp();
|
removeTemp();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -7,7 +7,7 @@ const path = require("path");
|
|||||||
//const mime = require("mime");
|
//const mime = require("mime");
|
||||||
const config = require("./config");
|
const config = require("./config");
|
||||||
|
|
||||||
const d = v => console.debug("DEBUG:", v) || v;
|
//const d = v => console.debug("DEBUG:", v) || v;
|
||||||
class MTProtoUser {
|
class MTProtoUser {
|
||||||
constructor(apiId, apiHash, sessionId) {
|
constructor(apiId, apiHash, sessionId) {
|
||||||
const stringSession = new StringSession(sessionId);
|
const stringSession = new StringSession(sessionId);
|
||||||
@ -38,7 +38,7 @@ class MTProtoUser {
|
|||||||
const msg = await this.client.sendFile(config.mtproto.chatId, {
|
const msg = await this.client.sendFile(config.mtproto.chatId, {
|
||||||
file,
|
file,
|
||||||
caption: message,
|
caption: message,
|
||||||
thumb: d(options.thumb),
|
thumb: options.thumb,
|
||||||
//filename: options.filename,
|
//filename: options.filename,
|
||||||
supportsStreaming: true,
|
supportsStreaming: true,
|
||||||
});
|
});
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user