Node.js 使用pm2运行bot会中断到本地文件的路径
我有一个电报机器人(使用telegraf),它可以监听聊天和回复本地文件。当使用“node index.js”运行时,这种方法有效,但不会发送pm2文件Node.js 使用pm2运行bot会中断到本地文件的路径,node.js,Node.js,我有一个电报机器人(使用telegraf),它可以监听聊天和回复本地文件。当使用“node index.js”运行时,这种方法有效,但不会发送pm2文件 const Telegraf = require('telegraf'); const extra = require('telegraf/extra'); const markup = extra.markdown(); const token = TOKEN; const bot = new Telegraf(token); bo
const Telegraf = require('telegraf');
const extra = require('telegraf/extra');
const markup = extra.markdown();
const token = TOKEN;
const bot = new Telegraf(token);
bot.hears(['/cal'], (ctx) => {
ctx.replyWithPhoto({ source: './cal.jpg' });
});
bot.hears(['/42'], (ctx) => {
ctx.replyWithPhoto({ source: './42.jpg' });
});
除了我用来执行它的内容之外,没有其他更改。我要发送的文件与index.js文件位于同一文件夹中。请尝试解析完整路径名:
const Telegraf = require('telegraf');
const path = require('path');
const extra = require('telegraf/extra');
const markup = extra.markdown();
const token = TOKEN;
const bot = new Telegraf(token);
bot.hears(['/cal'], (ctx) => {
ctx.replyWithPhoto({ source: path.resolve('./cal.jpg') });
});
bot.hears(['/42'], (ctx) => {
ctx.replyWithPhoto({ source: path.resolve('./42.jpg') });
});
这是一个很好的尝试,我真的认为这会解决它,但它没有。它确实向我显示了错误!使用pm2执行它将路径更改为/home/user。我不知道,但现在我能修好了。有没有一种方法可以使路径成为实际的项目路径,而不必对完整路径进行硬编码?