gpt4 book ai didi

Discord Bot 读取 Google 表格并返回表中的值。我想在没有表格格式的消息中返回值 ar CSV

转载 作者:行者123 更新时间:2023-12-04 03:31:00 37 4
gpt4 key购买 nike

您好,我有一个机器人,我正在尝试修改...

它目前在表格中显示数据,但我希望它在消息中显示为 CSV。

有办法吗?

目前数据显示如下:

╔═════════════════════╤═════╤═══════╤══════║ 名称 │ Grd │ Val1 │ Val ║
╟────────────────────┼──────┼────────┼────────╢
║ 汤姆鲍勃简蒂姆汤姆 │ 一个 │ 400K │ 469K ║
╟────────────────────┼──────┼────────┼────────╢
║ 汤姆鲍勃简蒂姆汤姆 │ b │ 392K │ 427K ║
╟────────────────────┼──────┼────────┼────────╢
║ 汤姆鲍勃简蒂姆汤姆 │ U │ 392K │ 455K ║
╟────────────────────┼──────┼────────┼────────╢
║ 汤姆鲍勃简蒂姆汤姆 │ U │ 385K │ 394K ║
╟────────────────────┼──────┼────────┼────────╢
║ 汤姆鲍勃简蒂姆汤姆 │ U │ 366K │ 445K ║
╟────────────────────┼──────┼────────┼────────╢
║ 汤姆鲍勃简蒂姆汤姆 │ U │ 363K │ 397K ║
╟────────────────────┼──────┼────────┼────────╢
║ 汤姆鲍勃简蒂姆汤姆 │ 一个 │ 362K │ 433K ║
╟────────────────────┼──────┼────────┼────────╢
║ 汤姆鲍勃简蒂姆汤姆 │ 一个 │ 362K │ 400K ║
╟────────────────────┼──────┼────────┼────────╢
║ 汤姆鲍勃简蒂姆汤姆 │ U │ 358K │ 426K ║
╟────────────────────┼──────┼────────┼────────╢
║ 汤姆鲍勃简蒂姆汤姆 │ U │ 356K │ 429K ║
╟────────────────────┼──────┼────────┼────────╢
║ 汤姆鲍勃简蒂姆汤姆 │ U │ 354K │ 409K ║
╚═════════════════════╧═════╧═══════╧════

我希望它像这样显示:

姓名、年级、值 1、值 2
tom bob jan 汤姆,a,400K,469K
汤姆鲍勃詹蒂姆汤姆,b,392K,427K
汤姆鲍勃詹蒂姆汤姆,U,392K,455K
汤姆鲍勃简蒂姆汤姆,U,354K,409K

提前致谢

.js 代码如下。

const config = require('../util/globals');
const { table } = require('table');
const { GoogleSpreadsheet } = require('google-spreadsheet');

const doc = new GoogleSpreadsheet(config.SHEET_ID);
doc.useServiceAccountAuth(require('../client-secret.json'));

module.exports = {
command: 'list',
aliases: ['le'],
dm: false,
permissions: (member) => {
return true;
},
async execute(bot, msg, args) {
const abbreviations = fs
.readFileSync('heroes.txt', 'utf-8')
.split(/\r\n|\n/g)
.map((row) => row.split(':')[0].toLowerCase());
if (args.length < 4) {
return msg.channel.send('Please at least enter 4 names.');
}
if (args.slice(0, 5).some((arg) => !abbreviations.includes(arg))) {
return msg.channel.send('Unrecognised name(s). Please use all lowercase');
}

await doc.loadInfo();

const sheet = doc.sheetsByTitle['Output'];
await sheet.loadCells();

sheet.getCellByA1('H3').value = args.slice(0, 5).join(' ');
await sheet.saveUpdatedCells();

const sheet2 = doc.sheetsByTitle['OutputI'];

await sheet2.loadCells();
const data1 = [
[
'Names',
'Grd',
'Value1',
'value2',
],
...[...Array(15).keys()].slice(9).map((row) => {
return [...Array(4).keys()].map(
(column) => sheet2.getCell(row, column).value
);
})
];

const data2 = [
[
'Names',
'Grd',
'Value1',
'value2',
],
...[...Array(20).keys()].slice(15).map((row) => {
return [...Array(4).keys()].map(
(column) => sheet2.getCell(row, column).value
);
})
];

msg.channel.send(
'```' + table(data1).split('\n').slice(0, -2).join('\n') + '```'
);
msg.channel.send(
'```' + table(data2).split('\n').slice(2).join('\n') + '```'
);
}
};

最佳答案

我想通了。连问都觉得有点傻...

msg.channel.send(
'```' + table(data1).split('\n').slice(0, -2).join('\n') + '```'
);
msg.channel.send(
'```' + table(data2).split('\n').slice(2).join('\n') + '```'

只需要将上面的行更改为:

msg.channel.send(
(data1)
);
msg.channel.send(
(data2)

关于Discord Bot 读取 Google 表格并返回表中的值。我想在没有表格格式的消息中返回值 ar CSV,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66801441/

37 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com