Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- require('dotenv').config();
- const {
- FB_ACCESS_TOKEN,
- FB_VERIFY_TOKEN,
- APP_ID,
- APP_SECRET,
- } = process.env;
- const { bots } = require('./global-session');
- const profile = {
- get_started: {
- payload: '/start',
- },
- persistent_menu: [
- {
- locale: 'default',
- composer_input_disabled: false,
- call_to_actions: [
- {
- type: 'postback',
- title: 'Menu',
- payload: '/menu',
- },
- ],
- },
- ],
- };
- /* istanbul ignore next */
- module.exports = {
- messenger: {
- bot: {
- accessToken: FB_ACCESS_TOKEN,
- appId: APP_ID,
- appSecret: APP_SECRET,
- mapPageToAccessToken: bots.getTokenByPageById,
- profile,
- },
- server: {
- verifyToken: FB_VERIFY_TOKEN,
- path: '/messenger',
- profile,
- },
- },
- };
- const { MessengerBot } = require('bottender');
- const express = require('express');
- const bodyParser = require('body-parser');
- const { registerRoutes } = require('bottender/express');
- const handler = require('./handlers');
- const logger = require('./utils/logger');
- const { APP_PORT, NODE_ENV } = process.env;
- const server = express();
- /* istanbul ignore next */
- const verify = (req, res, buf) => {
- req.rawBody = buf.toString();
- };
- server.use(bodyParser.json({ verify }));
- server.use(require('morgan')('short', { stream: logger.logStream }));
- const { messenger } = require('./config');
- const bots = {
- messenger: new MessengerBot(messenger.bot).onEvent(handler.messenger.execute),
- // Define other platform bots here!
- };
- const initialize = async () => {
- try {
- registerRoutes(server, bots.messenger, messenger.server);
- // Start server
- server.listen(APP_PORT, () => logger.info(`ENV[${NODE_ENV}] - server is listening on port ${APP_PORT}...`));
- } catch (e) {
- logger.error('unable to start server!');
- logger.error(e);
- throw Error();
- }
- };
- /* istanbul ignore next */
- if (process.env.NODE_ENV !== 'test') {
- initialize();
- }
- module.exports = initialize;
Add Comment
Please, Sign In to add comment