Toggle navigation
Toggle navigation
This project
Loading...
Sign in
박찬수
/
enjoy_soccer
Go to a project
Toggle navigation
Toggle navigation pinning
Projects
Groups
Snippets
Help
Project
Activity
Repository
Pipelines
Graphs
Issues
0
Merge Requests
0
Wiki
Snippets
Network
Create a new issue
Builds
Commits
Issue Boards
Authored by
박찬수
2022-06-07 19:12:52 +0900
Browse Files
Options
Browse Files
Download
Email Patches
Plain Diff
Commit
e8b5e64fd3d0fde9459bb89c44b4a12506c14f07
e8b5e64f
1 parent
20432121
reply.js modified.
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
86 additions
and
62 deletions
reply.js
reply.js
View file @
e8b5e64
...
...
@@ -12,6 +12,7 @@ const sslport = 23023;
var
soccer
=
require
(
'./soccer.js'
);
const
bodyParser
=
require
(
'body-parser'
);
const
{
EventEmitter
}
=
require
(
'stream'
);
var
app
=
express
();
app
.
use
(
bodyParser
.
json
());
...
...
@@ -28,8 +29,53 @@ app.post('/hook', function (req, res) {
console
.
log
(
'[request message]'
,
eventObj
.
message
);
console
.
log
(
"Receive Message : "
,
eventObj
.
message
.
text
);
console
.
log
(
soccer
.
GetPlayerInfo
(
276
,
2019
));
console
.
log
(
soccer
.
GetPlayerInfo
(
276
,
2019
,
eventObj
));
// request.post(
// {
// url: TARGET_URL,
// headers: {
// 'Authorization': `Bearer ${TOKEN}` // 인증정보 : channel token 값을 통해 인증.
// },
// json: {
// "replyToken":eventObj.replyToken, // reply token : 누구한테 보낼 것인지?를 판별하기 위해!
// "messages":[
// {
// "type":"text",
// "text":"Hello, user"
// },
// {
// "type":"text",
// "text":"May I help you?"
// }
// ]
// }
// },(error, response, body) => {
// console.log(body);
// });
// res.sendStatus(200);
});
try
{
const
option
=
{
ca
:
fs
.
readFileSync
(
'/etc/letsencrypt/live/'
+
domain
+
'/fullchain.pem'
),
key
:
fs
.
readFileSync
(
path
.
resolve
(
process
.
cwd
(),
'/etc/letsencrypt/live/'
+
domain
+
'/privkey.pem'
),
'utf8'
).
toString
(),
cert
:
fs
.
readFileSync
(
path
.
resolve
(
process
.
cwd
(),
'/etc/letsencrypt/live/'
+
domain
+
'/cert.pem'
),
'utf8'
).
toString
(),
//key : fs.readFileSync('./rootca.key'),
// cert : fs.readFileSync('./rootca.crt')
};
HTTPS
.
createServer
(
option
,
app
).
listen
(
sslport
,
()
=>
{
console
.
log
(
`[HTTPS] Server is started on port
${
sslport
}
`
);
});
}
catch
(
error
)
{
console
.
log
(
'[HTTPS] HTTPS 오류가 발생하였습니다. HTTPS 서버는 실행되지 않습니다.'
);
console
.
log
(
error
);
}
function
Reply
(
eventObj
){
request
.
post
(
{
url
:
TARGET_URL
,
...
...
@@ -52,70 +98,48 @@ app.post('/hook', function (req, res) {
},(
error
,
response
,
body
)
=>
{
console
.
log
(
body
);
});
res
.
sendStatus
(
200
);
}
);
}
try
{
const
option
=
{
ca
:
fs
.
readFileSync
(
'/etc/letsencrypt/live/'
+
domain
+
'/fullchain.pem'
),
key
:
fs
.
readFileSync
(
path
.
resolve
(
process
.
cwd
(),
'/etc/letsencrypt/live/'
+
domain
+
'/privkey.pem'
),
'utf8'
).
toString
(),
cert
:
fs
.
readFileSync
(
path
.
resolve
(
process
.
cwd
(),
'/etc/letsencrypt/live/'
+
domain
+
'/cert.pem'
),
'utf8'
).
toString
(),
//key : fs.readFileSync('./rootca.key'),
// cert : fs.readFileSync('./rootca.crt')
function
GetPlayerInfo
(
playerID
,
season
,
eventObj
){
var
request
=
require
(
'request'
);
var
options
=
{
method
:
'GET'
,
url
:
'https://v3.football.api-sports.io/players'
,
qs
:
{
id
:
playerID
,
season
:
season
},
headers
:
{
'x-rapidapi-host'
:
'v3.football.api-sports.io'
,
'x-rapidapi-key'
:
'526fc70a2e8b315e9a960ac4b4764191'
}
};
HTTPS
.
createServer
(
option
,
app
).
listen
(
sslport
,
()
=>
{
console
.
log
(
`[HTTPS] Server is started on port
${
sslport
}
`
);
request
(
options
,
function
(
error
,
response
)
{
if
(
error
)
throw
new
Error
(
error
);
console
.
log
(
response
.
body
);
Reply
(
eventObj
);
});
}
catch
(
error
)
{
console
.
log
(
'[HTTPS] HTTPS 오류가 발생하였습니다. HTTPS 서버는 실행되지 않습니다.'
);
console
.
log
(
error
);
}
module
.
exports
=
{
StartReply
:
function
(){
app
.
post
(
'/hook'
,
function
(
req
,
res
)
{
var
eventObj
=
req
.
body
.
events
[
0
];
var
source
=
eventObj
.
source
;
var
message
=
eventObj
.
message
;
// request log
console
.
log
(
'======================'
,
new
Date
()
,
'======================'
);
console
.
log
(
'[request]'
,
req
.
body
);
console
.
log
(
'[request source] '
,
eventObj
.
source
);
console
.
log
(
'[request message]'
,
eventObj
.
message
);
console
.
log
(
"Receive Message : "
,
eventObj
.
message
.
text
);
console
.
log
(
soccer
.
GetPlayerInfo
(
276
,
2019
));
request
.
post
(
{
url
:
TARGET_URL
,
headers
:
{
'Authorization'
:
`Bearer
${
TOKEN
}
`
// 인증정보 : channel token 값을 통해 인증.
},
json
:
{
"replyToken"
:
eventObj
.
replyToken
,
// reply token : 누구한테 보낼 것인지?를 판별하기 위해!
"messages"
:[
{
"type"
:
"text"
,
"text"
:
"Hello, user"
},
{
"type"
:
"text"
,
"text"
:
"May I help you?"
}
]
}
},(
error
,
response
,
body
)
=>
{
console
.
log
(
body
);
});
res
.
sendStatus
(
200
);
}
function
Emitter
(){
this
.
events
=
{};
}
Emitter
.
prototype
.
on
=
function
(
type
,
listener
){
this
.
events
[
type
]
=
this
.
events
[
type
]
||
[];
this
.
events
[
type
].
push
(
listener
);
}
const
emitter
=
new
Emitter
();
emitter
.
on
(
'soccer'
,
function
(){
console
.
log
(
'soccer logged.'
);
})
Emitter
.
prototype
.
emit
=
function
(
type
){
if
(
this
.
events
[
type
]){
this
.
events
[
type
].
forEach
(
function
(
listener
){
listener
();
});
}
}
\ No newline at end of file
}
emitter
.
emit
(
'soccer'
);
\ No newline at end of file
...
...
Please
register
or
login
to post a comment