1
+ //Settings
2
+ var mangadex_token = "YOUR_MANGADEX_TOKEN" ;
3
+ var discord_webhook = "YOUR_DISCORD_WEBOOK_URL" ;
4
+ var discord_thumbnail = "IMAGE_URL_FOR_THUMBNAIL" ;
5
+ var prefix_filter = "Ijiranaide, Nagatoro-san - " ; // example prefix filter
6
+ var timeout = 60 ;
7
+ var mysql_host = "localhost" ;
8
+ var mysql_user = "" ;
9
+ var mysql_pass = "" ;
10
+ var mysql_db = "mangadex" ;
11
+
12
+ //Imports
13
+ const feed = require ( 'feed-read' ) ;
14
+ const mysql = require ( 'mysql' ) ;
15
+ const { Webhook, MessageBuilder } = require ( "discord-webhook-node" ) ;
16
+ const hook = new Webhook ( discord_webhook ) ;
17
+
18
+ var con = mysql . createConnection ( { host : mysql_host , user : mysql_user , database : mysql_db } ) ;
19
+
20
+ function requestFeed ( ) {
21
+ feed ( "https://mangadex.org/rss/follows/" + mangadex_token , onRssFetched ) ;
22
+ }
23
+
24
+ function onRssFetched ( err , articles ) {
25
+
26
+ if ( err ) throw err ;
27
+
28
+ con . query ( "SELECT * FROM announced" , function ( err , result ) {
29
+ if ( err ) throw err ;
30
+
31
+ var list = [ ] ;
32
+
33
+
34
+ for ( i = 0 ; i < result . length ; i ++ ) {
35
+ if ( ! list . includes ( result [ i ] . title ) ) list . push ( result [ i ] . title ) ;
36
+ }
37
+
38
+ for ( i = 0 ; i < articles . length ; i ++ ) {
39
+ if ( ! list . includes ( articles [ i ] . title ) ) {
40
+
41
+ list . push ( articles [ i ] . title ) ;
42
+
43
+ con . query ( "INSERT INTO announced (title) VALUES ('" + articles [ i ] . title + "')" ) ;
44
+
45
+ var filterd = articles [ i ] . title ;
46
+ filterd = filterd . replace ( prefix_filter , "" ) ;
47
+ console . log ( "Manga " + filterd + " Has been added." ) ;
48
+
49
+ const embed = new MessageBuilder ( )
50
+ . setTitle ( filterd )
51
+ . setColor ( "#aabbcc" )
52
+ . setDescription ( "New chapter just released!\nCheck it out in the link below:\n\n" + articles [ i ] . link )
53
+ . setURL ( articles [ i ] . link )
54
+ . setFooter ( "Announcer developed by MVDW-Java on Github." )
55
+ . setThumbnail ( discord_thumbnail )
56
+ . setTimestamp ( ) ;
57
+
58
+ hook . send ( embed ) ;
59
+ }
60
+ }
61
+ } ) ;
62
+ }
63
+
64
+ setInterval ( requestFeed , timeout * 1000 ) ;
65
+ requestFeed ( ) ;
0 commit comments