![](/img/trans.png)
[英]How to work with firebase realtime database from Firebase Functions? (Telegram Bot)
[英]How to insert data into a database from a telegram bot?
我正在写一个电报机器人。 测试需要这个机器人。 该机器人的主要任务是将用户响应写入数据库。 我需要将用户的消息写入数据库。 由于发生错误,我目前无法编写消息。 我在哪里 go 错了? 请帮助解决这个问题。
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...
您必须从以下位置更改您的查询:
INSERT INTO User (username) VALUE ('text')
至
INSERT INTO User (username) VALUES ('text')
价值 -> 价值
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.