如何获得Discord机器人从特定范围的Google表格中读取数据?

有没有办法让Discord机器人从Google表格中查找数据?

示例情况: 如果Discord机器人出现命令“!points Bob”,则该机器人将在Google工作表中查找“ Bob”并返回鲍勃拥有的点数。

我认为我会使用google-spreadsheet模块,但我是新手。有没有人可以帮忙?

muma96132 回答:如何获得Discord机器人从特定范围的Google表格中读取数据?

您必须创建discord bot才能解析这些命令并将其通过管道传递到API。

要访问API,必须对其进行授权。

请参阅Quick-start Guide以了解操作方法。

在授权您的应用程序之后,只需根据您的聊天输入调用该方法即可。

希望这会有所帮助!

,

您可以尝试类似的方法,我尚未对此进行测试! 我为此使用了googleapis npm-package。

/*
Assuming your table is something like this:
 |------------------|
 | Player  | Points |
 |------------------|
 | Player1 | 0      |
 | Player2 | 100    |
 |------------------|
*/
function checkPoints(auth,name) {
    return new Promise((resolve,reject) => {
        const sheets = google.sheets({ version: 'v4',auth });

        sheets.spreadsheets.values.get({
            spreadsheetId: '<your spreadsheetid>',range: '<Your Points sheetname>!A2:B',// A2 because i assume you got a title like "Name/Username" etc.
        },(err,res) => {
            if (err) return console.log("The API returned an error: " + err);
            let list = [];
            for(let i = 0; i < res[0].length; i++){ //Loop throw all Players
                if(res[0][i] == name){
                    resolve(res[1][i]); //Returns the Points of the Player
                }
            }
        }
        );
    });
}

要使用此功能,必须通过api传递身份验证(请参阅googleapis软件包的文档)和名称。该函数返回一个Promise,然后您就走了,就像我说过的,我还没有在不和谐的bot中测试过这个。

checkPoints(auth,name).then(points =>{
    console.log("Points  of player " + name + ": " + points);
});
本文链接:https://www.f2er.com/3169203.html

大家都在问