【发布时间】:2022-02-05 03:21:59
【问题描述】:
我正在写一个电报机器人。测试需要这个机器人。该机器人的主要任务是将用户响应写入数据库。我需要将用户的消息写入数据库。由于发生错误,我目前无法编写消息。我哪里做错了?请帮忙解决这个问题。
if (msg.text === '/start') {
await bot.sendMessage(msg.chat.id, "message", {
reply_markup: {
keyboard: [
['Start the test']
]
}
})
}
else if (msg.text === 'Start the test') {
await bot.sendMessage(msg.chat.id, "Please enter your name")
bot.on('message', async msg => {
const name = msg.text
const insert = `INSERT INTO User (username) VALUE ('${name}')`
await sequelize.query(insert)
})
}
错误信息:
Executing (default): INSERT INTO User (username) VALUE ('name')
node:internal/process/promises:246
triggerUncaughtException(err, true /* fromPromise */);
^
Error
at Query.run (/home/user/bot/node_modules/sequelize/dist/lib/dialects/postgres/query.js:50:25)
at /home/user/bot/node_modules/sequelize/dist/lib/sequelize.js:313:28
at processTicksAndRejections (node:internal/process/task_queues:96:5)
at async TelegramBot.<anonymous> (/home/user/bot/bot.js:60:13) {
name: 'SequelizeDatabaseError',
parent: error: syntax error at or near "VALUE"
at Parser.parseErrorMessage (/home/user/bot/node_modules/pg-protocol/dist/parser.js:287:98)
at Parser.handlePacket (/home/user/bot/node_modules/pg-protocol/dist/parser.js:126:29)
at Parser.parse (/home/user/bot/node_modules/pg-protocol/dist/parser.js:39:38)
at Socket.<anonymous> (/home/user/bot/node_modules/pg-protocol/dist/index.js:11:42)
at Socket.emit (node:events:390:28)
at addChunk (node:internal/streams/readable:315:12)
at readableAddChunk (node:internal/streams/readable:289:9)
at Socket.Readable.push (node:internal/streams/readable:228:10)
at TCP.onStreamRead (node:internal/stream_base_commons:199:23) {
length: 94,
severity: 'ERROR',
code: '42601',
detail: undefined,
hint: undefined,
position: '28',
internalPosition: undefined,
internalQuery: undefined,
where: undefined,
schema: undefined,
table: undefined,
column: undefined,
dataType: undefined,
constraint: undefined,
file: 'scan.l',
line: '1145',
routine: 'scanner_yyerror',
sql: "INSERT INTO User (username) VALUE ('name')",
parameters: undefined
},
original: error: syntax error at or near "VALUE"
at Parser.parseErrorMessage (/home/user/bot/node_modules/pg-protocol/dist/parser.js:287:98)
at Parser.handlePacket (/home/user/bot/node_modules/pg-protocol/dist/parser.js:126:29)
at Parser.parse (/home/user/bot/node_modules/pg-protocol/dist/parser.js:39:38)
at Socket.<anonymous> (/home/user/bot/node_modules/pg-protocol/dist/index.js:11:42)
at Socket.emit (node:events:390:28)
at addChunk (node:internal/streams/readable:315:12)
at readableAddChunk (node:internal/streams/readable:289:9)
at Socket.Readable.push (node:internal/streams/readable:228:10)
at TCP.onStreamRead (node:internal/stream_base_commons:199:23) {
length: 94,
severity: 'ERROR',
code: '42601',
detail: undefined,
hint: undefined,
position: '28',
internalPosition: undefined,
internalQuery: undefined,
where: undefined,
schema: undefined,
table: undefined,
column: undefined,
dataType: undefined,
constraint: undefined,
file: 'scan.l',
line: '1145',
routine: 'scanner_yyerror',
sql: "INSERT INTO User (username) VALUE ('text')",
parameters: undefined
},
sql: "INSERT INTO User (username) VALUE ('text')",
parameters: {}
}
[nodemon] app crashed - waiting for file changes before starting...
【问题讨论】:
标签: javascript node.js postgresql telegram-bot