Estou criando um bot no telegram que lê dados de uma google sheets, e ele já apresenta alguma resposta, porém gostaria de melhorar ele.
O código que já tenho é:
var token = "1755295938:AAEcf7p8Yg7nODp5lGhyxcX7uWvni8wsOpQ";
var telegramUrl = "https://api.telegram.org/bot" + token;
var webAppUrl = "https://script.google.com/macros/s/AKfycbzvKVC9HxRuNhPt981DdxsYuzq3ShQh4DBak6GqPJyOErVx8yThA6IikNiCQVJxASujoA/exec";
function setWebhook() {
var url = telegramUrl + "/setWebhook?url=" + webAppUrl;
var response = UrlFetchApp.fetch(url);
}
function sendMessage(id,text) {
var url = telegramUrl + "/sendMessage?chat_id=" + id + "&text=" + text;
var response = UrlFetchApp.fetch(url);
}
function doPost(e) {
var contents = JSON.parse(e.postData.contents);
var id = contents.message.from.id;
var text = contents.message.text;
var ssId = "1S3U3ZqZqzu_RAN1wrt5a8I6PNP1MrcwRwR24TfSlpv8";
var sheet = SpreadsheetApp.openById(ssId).getSheetByName("Sheets01");
if (text.upcase == "oi") {
var oi = sheet.getDataRange().getCell(1, 2).getValue();
return sendMessage(id, oi);
}
}
Com isso, quando eu digito oi no bot do telegram ele me retorna o que está na coluna dois e na linha 01 da minha planilha.
Até ai tudo bem.
O que eu gostaria de fazer era, que o bot buscasse a informação em uma coluna da planilha e retornasse o valor que está na próxima coluna.
Vamos supor que em uma coluna eu tenha o nome de três frutas, uma em cada linha, "maça", "banana", "uva", e na próxima coluna eu tenha a quantidade dessas frutas, "5", "3," "8", então se no bot eu digitasse maça ele me retornava o numero 5, se fosse uva o numero 8 e assim por diante, e no caso de um valor desconhecido uma mensagem de não encontrado.
Acredito que eu tenha me feito entender, mas alguém sabe se isso é possível?
Olá, estou criando um bot em node.js no VS Code, gostaria de saber se tem como fazer um painel para executar os comandos dele.
Vamos supor que o BOT é para fazer uma pesquisa, e teria um painel em JAVA onde teria um campo para enviar mensagem, eu digitaria o tema da pesquisa, por exemplo Terra, e o BOT iria pesquisar e me retornar um texto sobre o tema digitado.
Já procurei no github, porém não achei nada que eu poderia usar como base, o que eu quero saber é se tem como ligar o node.js com o java, ou seja, fazer com que o java execute o comando no terminal e depois retorna a resposta.
Bom noite pessoal... Estou fazendo um bot que se comunica com o QnaMaker, e dependendo da resposta, deverá ser aberto uma conversação guiada através do FormFlow com uso do Json.
Meu problema é exatamente neste ponto para conseguir abrir o formulário.
Estou usando a SDK V3 e o QnAMakerDialog do garypretty.
Resumidamente neste ponto devo fazer algo para iniciar o form.
public override async Task DefaultMatchHandler(IDialogContext context, string originalQueryText, QnAMakerResult result)
{
QnaAnswer a = result.Answers.First();
var messageActivity = ProcessResultAndCreateMessageActivity(context, ref result);
if (a.Answer == "form")
{
// ABRIR FORM AQUI
}
await context.PostAsync(messageActivity);
context.Wait(MessageReceived);
}
Já tentei várias coisas como chamar context.Forward ou context.Call, mas não da certo, talvez eu esteja chamando de forma errada.
Sempre retorna a mensagem dizendo que existe um problema no código fonte.
Vocês podem me ajudar?
Obrigado!!