다운로드스테이션 텔레그램 알림 설정
May 16, 2018 조회수 364
xpebot_ XPEnology Telegram BOT with telepot.pdf
[494.73 KB]
Acidpop Software - XPEnology DSM 6.pdf
[2.98 MB]
#download station telegram notice.zip
[4.05 MB]
- 다운로드 스테이션 패키지를 설치하고, 대상폴더 감시 폴더를 각각 지정하자.
<img alt="" src="https://static.podo-dev.com/blogs/images/2019/07/10/origin/IFQZDG181224235516.PNG" style="border-style:solid; border-width:1px; width:720px">
<br/>
- GitServer 패키지를 설치하자
<br/>
- Python3, Python Module 패키지를 설치하자.
<br/>
- 제어판 - 사용자 메뉴로 이동하여 고급탭 최하단의 홈 서비스 활설화 버튼을 체크하자.
<img alt="" src="https://static.podo-dev.com/blogs/images/2019/07/10/origin/LKXK41181224235516.PNG" style="border-style:solid; border-width:1px; width:720px">
<br/>
- Putty 로 접속하자
<br/>
- ROOT 계정으로 접속 후 VI편집기로 '/etc/passwd' 파일에 다음 부분을 하단과 같이 수정한다.
login as: cglee079
cglee079@125.186.242.83's password:
cglee079@cglee079:~$ sudo -i
Password:
root@cglee079:~# cd /
root@cglee079:/# vi etc/passwd
<br/>
DownloadStation:x:125560:125560::/var/packages/DownloadStation/target:/bin/sh
<br/>
<br/>
- 다음 과정을 진행하자.
root@cglee079:/# su - DownloadStation
DownloadStation@cglee079:~$ psql -U DownloadStation -d download
psql (9.3.22)
Type "help" for help.
download=>
<br/>
<br/>
- 테이블을 생성하자. ( 하단의 명령문을 입력)
CREATE TABLE btdownload_event(
task_id integer NOT NULL,
username character varying(128),
filename text,
status integer,
total_size bigint,
isread integer,
create_time date
);
CREATE OR REPLACE FUNCTION process_btdownload_event() RETURNS TRIGGER AS $btdownload_event$
DECLARE
rec_count integer;
BEGIN
IF (TG_OP = 'INSERT') THEN
RETURN NEW;
ELSIF (TG_OP = 'UPDATE') THEN
IF (NEW.status = 2 AND NEW.current_size > 0 AND NEW.total_size > 0 AND NEW.current_rate > 0 ) THEN
SELECT COUNT(*) into rec_count FROM btdownload_event WHERE task_id = NEW.task_id AND status = 2;
IF ( rec_count = 0 ) THEN
INSERT INTO btdownload_event VALUES(NEW.task_id, NEW.username, NEW.filename, NEW.status, NEW.total_size, 0, now());
END IF;
ELSIF (NEW.status = 5 ) THEN
SELECT COUNT(*) into rec_count FROM btdownload_event WHERE task_id = NEW.task_id AND status = 5;
IF ( rec_count = 0 ) THEN
INSERT INTO btdownload_event VALUES(NEW.task_id, NEW.username, NEW.filename, NEW.status, NEW.total_size, 0, now());
END IF;
ELSIF (NEW.status = 118) THEN
UPDATE download_queue SET status = 5, extra_info = '' WHERE task_id = NEW.task_id;
DELETE FROM task_plugin WHERE task_id = NEW.task_id;
DELETE FROM thumbnail WHERE task_id = NEW.task_id;
ELSIF (NEW.status = 123) THEN
SELECT COUNT(*) into rec_count FROM btdownload_event WHERE task_id = NEW.task_id AND status = 123;
IF ( rec_count = 0 ) THEN
INSERT INTO btdownload_event VALUES(NEW.task_id, NEW.username, NEW.filename, NEW.status, NEW.total_size, 0, now());
END IF;
END IF;
RETURN NEW;
ELSIF (TG_OP = 'DELETE') THEN
IF (OLD.status = 2) THEN
INSERT INTO btdownload_event VALUES(OLD.task_id, OLD.username, OLD.filename, 999, OLD.total_size, 0, now());
ELSE
DELETE FROM btdownload_event WHERE task_id = OLD.task_id;
END IF;
RETURN OLD;
END IF;
RETURN NULL;
END;
$btdownload_event$ LANGUAGE plpgsql;
CREATE TRIGGER btdownload_event
AFTER INSERT OR UPDATE OR DELETE ON download_queue
FOR EACH ROW EXECUTE PROCEDURE process_btdownload_event();
<br/>
- ROOT 계정으로 돌아온 후, 본인의 홈 폴더로 이동한다.
cd volume1/homes/cglee079
<br/>
- 다음명령어를 입력한다.
git clone "https://github.com/acidpop/xpebot"
wget "https://bootstrap.pypa.io/get-pip.py"
python ./get-pip.py
pip install telepot
pip install BeautifulSoup
pip install psycopg2
pip install Pillow
pip install psutil
cd xpebot
cp bot6.sh.ori bot.sh
cp xpebot.cfg.ori xpebot.cfg
<br/>
- xpebot.cfg 파일을 열어 다음과 같이 수정한다.
1) NOTY_CHAT_ID 는 Downlaod Staion 에서 다운로드 진행 현황 알림을 받을 사용자의 Chat ID 값을 입력한다.
2) DSM_ID 는 자신의 DSM ID 를 입력한다.
3) BOT_TOKEN 은 Telegram 의 Bot Father 에서 /newbot 을 요청하여 BOT 생성 후 자신의 BOT TOKEN 값을 입력한다.
4) VALID_USER 는 인증된 사용자의 chat_id 값을 입력한다. 여러명일 경우 ,(콤마)를 이용해 구분한다.
5) NAVER_API 섹션에 발급 받은 CLIENT_ID_KEY 값과 CLIENT_SECRET_KEY 값을 입력한다.
6) RSS_NEWS 섹션에 보고 싶은 뉴스의 RSS 주소를 입력한다.
7) DATA 섹션에 data.go.kr 에서 발급 받은 서비스 키를 입력한다
<br/>
- 다음 명령어를 통해 조작한다.
./bot.sh start
./bot.sh stop
./bot.sh restart
./bot.sh chk
<br/>
'다운로드스테이션 텔레그램 알림 설정' 관련된 다른글
이 포스팅은 쿠팡 파트너스 활동의 일환으로, 이에 따른 일정액의 수수료를 제공받습니다.