fix(all): New templates.

This commit is contained in:
Rodrigo Rodriguez 2024-08-23 00:00:04 -03:00
parent 53dc1b28a1
commit e7880e003b
77 changed files with 531 additions and 978 deletions

View file

@ -1,12 +1,12 @@
import { GBConfigService } from "../packages/core.gbapp/services/GBConfigService";
import { app, BrowserWindow } from 'electron';
import path from 'path';
import url from 'url';
const { app, BrowserWindow } = require('electron');
const path = require('path');
const url = require('url');
export function runUI() {
function createWindow() {
// Create the browser window.
const win = new BrowserWindow({ width: 800, height: 600 });
const win = new BrowserWindow({ width: 800, height: 600, title: 'General Bots Studio' });
// and load the index.html of the app.
win.loadURL(
@ -18,4 +18,4 @@ function createWindow() {
);
}
app.on('ready', createWindow);
app.on('ready', runUI);

View file

@ -0,0 +1,121 @@
REM SET SCHEDULE "1 * * * * *"
REM Obtém token do Partner Center via token do AD.
SET HEADER "return-client-request-id" AS "true"
SET HEADER "Content-Type" As "application/x-www-form-urlencoded; charset=utf-8"
pcToken = POST "https://login.microsoftonline.com/" + tenantId + "/oauth2/token", "resource=https%3A%2F%2Fgraph.windows.net&client_id=" + clientId + "&client_secret=" + clientSecret + "&grant_type=client_credentials"
REM repara chamada de Billing.
SET HEADER "Authorization" AS "Bearer " + pcToken.access_token
SET HEADER "MS-Contract-Version" AS "v1"
SET HEADER "MS-CorrelationId" AS uuid()
SET HEADER "MS-RequestId" AS uuid()
SET HEADER "MS-PartnerCenter-Application" AS "General Bots"
SET HEADER "X-Locale" AS "en-US"
REM Sincroniza Customers e Subscriptions
SET PAGE MODE "none"
list = GET host + "/v1/customers?size=20000"
MERGE "Customers" WITH list.items BY "Id"
FOR EACH item IN list
subs = GET host + "/v1/customers/" + item.id + "/subscriptions"
MERGE "Subscriptions" WITH subs.items BY "Id"
END FOR
REM Determina período.
IF today = dueDay THEN
IF period = "previous" AND NOT CONTINUATION TOKEN THEN
period = "current"
ELSE
period = "previous"
END IF
ELSE
period = "current"
END IF
REM Perform the call and loop through the billing items.
SET PAGE MODE "auto"
list = GET host + "/v1/invoices/unbilled/lineitems?provider=onetime&invoicelineitemtype=usagelineitems&currencycode=" + currency + "&period=previous&idparceiro=" + idparceiro
FOR EACH item IN list
SAVE "Billing", item.alternateId, item.availabilityId, item.billableQuantity, item.billingFrequency, item.chargeEndDate, item.chargeStartDate, item.chargeType, item.currency, item.customerCountry, item.customerDomainName, item.customerId, item.customerName, item.effectiveUnitPrice, item.invoiceNumber, item.meterDescription, item.mpnId, item.orderDate, item.orderId, item.partnerId, item.pCToBCExchangeRate, item.pCToBCExchangeRateDate, item.priceAdjustmentDescription, item.pricingCurrency, item.productId, item.productName, item.publisherId, item.publisherName, item.quantity, item.resellerMpnId, item.reservationOrderId, item.skuId, item.skuName, item.subscriptionDescription, item.subscriptionId, item.subtotal, item.taxTotal, item.termAndBillingCycle, item.totalForCustomer, item.unitPrice, item.unitType
END FOR
TABLE Billing
CustomerId Customers
ResourceGroup string(200)
ResourceUri string(1000)
Tags string(max)
AdditionalInfo string(max)
ServiceInfo1 string(max)
ServiceInfo2 string(max)
CustomerCountry string(6)
MpnId string(50)
ResellerMpnId string(50)
ChargeType string(200)
UnitPrice* double
Quantity* double
UnitType string(max)
BillingPreTaxTotal double
BillingCurrency string(6)
PricingPreTaxTotal double
PricingCurrency string(6)
EntitlementId string(50)
EntitlementDescription string(400)
PCToBCExchangeRate double
PCToBCExchangeRateDate date
EffectiveUnitPrice* double
RateOfPartnerEarnedCredit double
ConsumedService string(200)
ResourceLocation string(100)
MeterRegion string(100)
PartnerId string(50)
PartnerName string(400)
CustomerName string(400)
CustomerDomainName string(400)
InvoiceNumber string(400)
ProductId string(50)
SkuId string(50)
AvailabilityId string(50)
SkuName string(200)
ProductName string(400)
PublisherName string(200)
PublisherId string(200)
SubscriptionId string(50)
SubscriptionDescription string(400)
ChargeStartDate* date
ChargeEndDate* date
UsageDate date
MeterType string(400)
MeterCategory string(100)
MeterId string(50)
MeterSubCategory string(100)
MeterName string(200)
UnitOfMeasure string(100)
Reprocess boolean
END TABLE
TABLE Customers
TenantId guid
CompanyName string(100)
Id guid
END TABLE
TABLE Subscriptions
CustomerId Customers
Id guid
OfferName string(50)
END TABLE

View file

@ -0,0 +1,79 @@
REM 302 / 1234
PARAM barraca AS number LIKE Código da barraca
PARAM operador AS number LIKE Código do operador
DESCRIPTION Esta função (tool) nunca é chamada pelo GPT. É um WebService do GB.
REM Login como Garçom
data = NEW OBJECT
data.IdentificadorOperador = operador
data.BarracaId = barraca
login = POST "https://api.server.com.br/api/Operadores/Login", data
SET HEADER "Authorization" AS login.accessToken
REM Obter o cardápio da Barraca - Utilizar o token recuperado acima.
data = GET "https://api.server.com.br/api/Item/Barraca/${barraca}/Cliente"
produtos = NEW ARRAY
FOR EACH item IN data[0].itens
IF item.statusItem = "Ativo" THEN
produto = NEW OBJECT
produto.id = item.id
produto.valor = item.valor
produto.nome = item.produto.nome
produto.detalhe = item.detalhe
produto.acompanhamentos = item.gruposAcompanhamento
produtos.push(produto)
END IF
NEXT
BEGIN SYSTEM PROMPT
Você deve atuar como um chatbot que irá auxiliar o atendente de uma loja respeitando as seguintes regras:
Sempre que o atendente fizer um pedido e deve incluir a mesa e o nome do cliente. Exemplo: Uma caipirinha de 400ml de Abacaxi para Rafael na mesa 10.
Os pedidos são feitos com base nos produtos e acompanhamentos deste cardápio de produtos:
${JSON.stringify (produtos)}.
A cada pedido realizado, retorne JSON contendo o nome do produto, a mesa e uma lista de acompanhamentos com seus respectivos ids.
Mantenha itensPedido com apenas um item e mantenha itemsAcompanhamento apenas com os acompanhamentos que foram especificados.
ItensAcompanhamento deve conter a coleção de itens de acompanhamento do pedido, que é solicitado quando o pedido é feito, por exemplo: Caipirinha de Morango com Gelo, Açúcar e Limão, gerariam três elementos neste .
Segue o exemplo do JSON do Pedido, apague os itens e mande um com o pedido feito pela pessoa, é apenas um exemplo:
{
itensPedido: [
{
item: {
id: 23872,
valor: 20,
nome: Caipirinha Limão
},
itensAcompanhamento: [
{
id: 0,
valor: 0,
quantidade: 1
}
],
quantidade: 1,
observacao: a
},
{
item: {
id: 25510,
valor: 12,
nome: Heineken Lata 350ml
},
itensAcompanhamento: [],
quantidade: 1,
observacao: nenhuma
}
],
barracaId: ${barraca},
usuarioId: ${operador},
identificadorConta: Rafael,
tipoEntregaId: 2,
camposTipoEntrega: {
Mesa: 5
}
}
END SYSTEM PROMPT

View file

@ -0,0 +1,19 @@
list = DIR "QCARobot.gbdrive"
FOR EACH item IN list
TALK "Verificando: " + item.name
DEBUG item
oldDays = DATEDIFF date, item.modified, "day"
IF oldDays > 3 THEN
TALK "O arquivo ${item.name} será arquivado, pois está expirado."
blob = UPLOAD item
TALK Upload para o Azure realizado.
SAVE "log.xlsx", "archived",today,now, item.path, item.name, item.size, item.modified, blob.md5
REM DELETE item
REM TALK Arquivo removido do SharePoint.
ELSE
TALK "O arquivo ${item.name} não precisa de arquivamento."
END IF
NEXT

View file

@ -0,0 +1,42 @@
REM SET SCHEDULE "1 * * * * *"
billing = FIND "Billing"
REM Consumo Mensal de barras.
data = SELECT SUM(effectiveUnitPrice) as Value, MONTH(usageDate)+'/'+YEAR(usageDate) from billing GROUP BY MONTH(date), YEAR(date)
img = CHART "timseries", data
SEND FILE img, "Consumo Mensal"
REM Categoria do Produto
data = SELECT SUM(effectiveUnitPrice) as Value, meterCategory from billing GROUP BY meterCategory
img = CHART "donut", data
SEND FILE img, "Categoria do Produto"
REM Sub Categoria do Produto
data = SELECT SUM(effectiveUnitPrice) as Value, meterSubCategory from billing GROUP BY meterCategory
img = CHART "donut", data
SEND FILE img, "Subcategoria do Produto"
REM Nome do Produto (Resumido)
REM productName
REM Região do Recurso
REM resourceLocation
REM Grupo do Recurso
REM resourceGroup
REM Consumo Mensal de barras (Envio individual para cada cliente)
customers = FIND "Customers"
FOR EACH c IN customers
data = SELECT SUM(effectiveUnitPrice) as Value, MONTH(usageDate)+'/'+YEAR(usageDate) from billing GROUP BY MONTH(date), YEAR(date) WHERE customerId = c.id
img = CHART "timseries", data
SEND FILE img, "Consumo Mensal"
END FOR

View file

@ -1,77 +0,0 @@
' General Bots Copyright (c) pragmatismo.cloud. All rights reserved. Licensed under the AGPL-3.0.
' Rules from http://jsfiddle.net/roderick/dym05hsy
talk "How many installments do you want to pay your Credit?"
hear installments
if installments > 60 then
talk "The maximum number of payments is 60"
else
talk "What is the amount requested?"
hear amount
if amount >100000 then
talk "We are sorry, we can only accept proposals bellow 100k"
else
talk "What is the best due date?"
hear dueDate
interestRate = 0
adjustment = 0
if installments < 12 then
interestRate = 1.60
adjustment = 0.09748
end if
if installments > 12 and installments < 18 then
interestRate = 1.66
adjustment = 0.06869
end if
if installments > 18 and installments < 36 then
interestRate = 1.64
adjustment = 0.05397
end if
if installments > 36 and installments < 48 then
interestRate = 1.62
adjustment = 0.03931
end if
if installments > 48 and installments < 60 then
interestRate = 1.70
adjustment = 0.03270
end if
if installments = 60 then
interestRate = 1.79
adjustment = 0.02916
end if
if installments > 60 then
talk "The maximum number of payments is 60"
end if
nInstallments = parseInt(installments)
vamount = parseFloat(amount)
initialPayment = vamount * 0.3 ' 30% of the value
tac = 800
adjustment = 1.3
totalValue = amount - initialPayment + tac
paymentValue = totalValue * adjustment
finalValue = paymentValue * nInstallments + initialPayment
talk "Congratulations! Your credit analysis is **done**:"
talk "First payment: **" + initialPayment + "**"
talk "Payment value: **" + paymentValue + "**"
talk "Interest Rate: **" + interestRate + "%**"
talk "Total Value: **" + totalValue + "**"
talk "Final Value: **" + finalValue + "**"
end if
end if

View file

@ -0,0 +1,10 @@
lista = find "broadcast.csv"
indice = 1
do while indice < ubound(lista)
linha = lista[indice]
TALK TO linha.mobile, "Oi, " + linha.name + ". Tudo bem? How about *General Bots* deployed? "
wait 5
save Log.xlsx, today, now, username, from,linha.mobile, linha.name
indice = indice + 1
loop
talk O envio foi realizado.

View file

@ -0,0 +1,16 @@
TALK "Olá, por favor, qual seu nome completo?"
HEAR nome
TALK "Qual o seu email para contato? "
HEAR email
TALK "Qual o seu telefone para contato? "
HEAR telefone
TALK "Função? "
HEAR funcao
TALK "Qual empresa que estará representando? "
HEAR empresa
TALK "É freelancer?"
HEAR freelancer AS BOOLEAN
TALK "Você pretende participar do evento em qual cidade? "
HEAR cidade AS "São Paulo", "Rio de Janeiro"
TALK "Você deseja receber outras informações do mailing da Quanta?"
SAVE "pessoas.xlsx", nome, email, telefone, funcao, empresa, freelancer

View file

@ -1,50 +0,0 @@
' General Bots Copyright (c) pragmatismo.cloud. All rights reserved. Licensed under the AGPL-3.0.
talk "Quer pagar quanto?"
hear amount
talk "Para onde?"
hear address
if amount < 5 then
talk "O mínimo que vendo este produto é 5."
else
if address is in "Rio" then
get payment amount
delivery to address
else
talk "Vou ver se tenho um parceiro para entregar aí e te falo. Eu só entrego no Rio."
end if
end if
talk "Valeu!"
Falar "Qual seu nome?"
Ouvir nome
Falar "Informe seu CEP, por favor:"
Ouvir CEP
Address = CEP
Confira seu endereço:
Address.Street
Address.Number
Falar "Manda sua localização para eu pedir a alguém para sair agora com o seu pedido"
Hear Location
SAve "Pedidos.xlsx", Nome, From, Location.Street, Location.Number
Falar "Manda sua localização que eu encontro o posto mais próximo"
Hear Location
Find "Postos.xlsx", "Endereço=" + Location

View file

@ -1,29 +0,0 @@
if consulta = "cpf" then
talk "Qual seu CPF?"
hear cpf
talk "Aguarde alguns instantes que eu localizo seu cadastro..."
row = find "Cadastro.xlsx", "CPF=" + cpf
if row != null then
talk "Oi, " + row.Nome + "Tudo bem? "
talk "Seu código de cliente é " + row.Cod
talk "Vamos te enviar o pedido para seu endereço em: " + row.Endereço
send file "boleta.pdf", "Pague já e evite multas!"
else
talk "Tente novamente."
end if
else
talk "Qual seria seu código?"
hear cod
talk "Aguarde alguns instantes que eu localizo seu cadastro..."
row = find "Cadastro.xlsx", "Cod=" + cod
if row != null then
talk "Oi, " + row.Nome + "Tudo bem? "
talk "Seu CPF é " + row.CPF
talk "Vamos te enviar o pedido para seu endereço em: " + row.Endereço
send file "boleta.pdf", "Pague já e evite multas!"
else
talk "Tente novamente."
end if
end if

View file

@ -1,5 +0,0 @@
talk “Olá! Seja bem vinda(o)!”
X = find “campanhas.xlsx”, “nome=1239” OR TALK “Desculpe-me, não localizei seu nome.”
talk “opa, vamos lá!” + x.nome

View file

@ -1,12 +0,0 @@
' General Bots Copyright (c) pragmatismo.cloud. All rights reserved. Licensed under the AGPL-3.0.
talk "Quer pagar quanto?"
hear amount
if amount < 5 then
talk "O mínimo que vendo este produto é 5."
else
get payment amount
end if
talk "Valeu!"

View file

@ -1,9 +0,0 @@
value = get "list.xslx", "A1:A1"
set "list.xslx", "A1:A1", "value"
myVar = find "chamadosbug748.xlsx", "CHAMADO=" + "5521979047667-44129-10"
status="alterado"
set "chamadosbug748.xlsx", "E" + myVar.line + ":E" + myVar.line, status
res = get "chamadosbug748.xlsx", "E" + myVar.line + ":E" + myVar.line
talk "Obrigado e até a próxima e veja bem, o resultado é esse: " + res

View file

@ -1,6 +0,0 @@
user = get "http://server/path"
user = post "http://server/path", "data"
Talk “ The user area is” + user.area, user.validuser, user.user

View file

@ -0,0 +1,77 @@
' General Bots Copyright (c) pragmatismo.cloud. All rights reserved. Licensed under the AGPL-3.0.
' Rules from http://jsfiddle.net/roderick/dym05hsy
talk "How many installments do you want to pay your Credit?"
hear installments
If installments > 60 Then
talk "The maximum number of payments is 60"
Else
talk "What is the amount requested?"
hear amount
If amount > 100000 Then
talk "We are sorry, we can only accept proposals bellow 100k"
Else
talk "What is the best due date?"
hear dueDate
interestRate = 0
adjustment = 0
If installments < 12 Then
interestRate = 1.60
adjustment = 0.09748
End If
If installments > 12 And installments < 18 Then
interestRate = 1.66
adjustment = 0.06869
End If
If installments > 18 And installments < 36 Then
interestRate = 1.64
adjustment = 0.05397
End If
If installments > 36 And installments < 48 Then
interestRate = 1.62
adjustment = 0.03931
End If
If installments > 48 And installments < 60 Then
interestRate = 1.70
adjustment = 0.03270
End If
If installments = 60 Then
interestRate = 1.79
adjustment = 0.02916
End If
If installments > 60 Then
talk "The maximum number of payments is 60"
End If
nInstallments = parseInt(installments)
vamount = parseFloat(amount)
initialPayment = vamount * 0.3 ' 30% of the value
tac = 800
adjustment = 1.3
totalValue = amount - initialPayment + tac
paymentValue = totalValue * adjustment
finalValue = paymentValue * nInstallments + initialPayment
talk "Congratulations! Your credit analysis is **done**:"
talk "First payment: **" + initialPayment + "**"
talk "Payment value: **" + paymentValue + "**"
talk "Interest Rate: **" + interestRate + "%**"
talk "Total Value: **" + totalValue + "**"
talk "Final Value: **" + finalValue + "**"
End If
End If

View file

@ -1,26 +0,0 @@
talk "Qual seu pedido?"
hear pedido
talk "Qual seu e-mail?"
hear email
talk "Obrigado, seu pedido será processado e retornamos."
ask payment
talk "Qual seu pedido?"
hear pedido
talk "Obrigado. Agora informe seu nome:"
Hear nome
Talk "Obrigado" + nome + "! Agora falta saber onde vamos entregar. Qual seu endereço?"
Hear endereço
Save "BistroBot.gbdata\pedidos.xlsx", nome, pedido, endereço, phone
Talk "Aguarde, enquanto eu calculo o valor total do seu pedido. Volto em alguns minutos, aguarde!"
Total = Ask "+5521999995555", "Qual o valor para o pedido da(o)" + nome +"?"
ask payment Total
Talk "Qual seunome? "
Hear nome
Talk "Qual o valor pedido?"
Hear pedido
Save "Contoso.gbdata\ Aprovações.xlsx", nome, pedido, phone
Ask "+5521999995555", "Aprove por favor o pedido tal "
Talk "Sua aprovação foi enviada, aguarde."

View file

@ -1,11 +0,0 @@
talk "O seu nome, por favor?"
hear nome
talk "Qual seu pedido?"
hear details
talk "Valeu " + nome + "! Agora falta saber onde vamos entregar. \nQual seu endereço?"
hear address
save "Pedidos.xlsx", id, nome, from, address, details, today

View file

@ -1,37 +0,0 @@
' General Bots Copyright (c) pragmatismo.cloud. All rights reserved. Licensed under the AGPL-3.0.
talk "Please, tell me what is the Bot name?"
hear title
talk "If you tell me your username/password, I can show service subscription list to you."
talk "What is your Username (eg.: human@domain.bot)"
hear email
talk "What is your Password"
hear password
talk "Your password? (Will be discarded after sigining process)"
talk "Can you describe in a few words what the bot is about?"
hear description
talk "Please, paste the Subscription ID (Azure):"
hear subscriptionId
talk "Please, provide the cloud location just like 'westus'?"
hear location
talk "Please, provide the Authoring Key for NLP service (LUIS)?"
hear authoringKey
talk "Sorry, this part cannot be automated yet due to Microsoft schedule, please go to https://apps.dev.microsoft.com/portal/register-app to generate manually an App ID and App Secret."
wait 5
talk "Please, provide the App ID you just generated:"
hear appId
talk "Please, provide the Generated Password:"
hear appPassword
talk "Now, I am going to create a Bot farm... Wait 5 minutes or more..."
create a bot farm using title, email, password, location, authoringKey, appId, appPassword, subscriptionId

View file

@ -1,25 +0,0 @@
talk "qual seu nome?"
hear nome
talk "qual seu e-mail?"
hear email
documento = "meutemplate.docx", nome, email,
send file documento
save file documento, "curriculos/nome" + ".docx"
' $name
'$trabalho
'Experiência
'$ano1
'$oquefoifeitoAno1
'$ano2
'$oquefoifeitoAno2
'$ano3
'$oquefoifeitoAno1

View file

@ -1,13 +0,0 @@
rem hi
talk "Qual seu nome?"
hear name
talk "Qual seu CPF?"
hear CPF
talk "Por que você abrirá este chamado?"
hear translated motivo
talk "Seu nome: " + name
talk "Você disse em Português " + motivo.

View file

@ -0,0 +1,12 @@
SET MAX LINES 1000
list = FIND "Mailing Global.xlsx"
indice = 1
do while indice < ubound(list)
row = list[indice]
valid = IS VALID row.email
indice = indice + 1
IF valid THEN
Set "Mailing Global.xlsx", "B" + indice , "x"
END IF
loop
talk Validate OK.

View file

Before

Width:  |  Height:  |  Size: 1.4 KiB

After

Width:  |  Height:  |  Size: 1.4 KiB

Binary file not shown.

View file

@ -1,16 +1,16 @@
#Desenvolvimento Personalizado
# Desenvolvimento Personalizado
General Bots usa linguagem natural para entender o que as pessoas querem, facilitando o desenvolvimento de código. Quando alguém diz: "Preciso do relatório mensal" ou "Imprima o relatório do mês", General Bots entende o mesmo. Utilize o nosso desenvolvimento para estender a conversa com suas próprias regras e intenções.
#Descoberta
# Descoberta
General Bots pode pró-ativamente sugerir suas habilidades para os usuários baseada no contexto, como solicitação de um pedido, envio de uma mensagem, agendamento de uma conferência telefônica ou qualquer ação definida na sua aplicação.
#Torne pessoal
# Torne pessoal
Entregue experiências únicas através do conhecimento que a General Bots possui sobre seus usuários e preferências, para ajudar a tomar decisões e apresentar sempre o melhor cenário.
#Sem downloads adicionais
# Sem downloads adicionais
A interface da sua aplicação é automaticamente integrada à General Bots, de modo que não seja necessário realizar download ou instalações.

View file

@ -1,3 +0,0 @@
Últimas notícias
Contato
Ofertas

View file

@ -0,0 +1,10 @@
welcome,,,
who we are,,,
contact us,,,
about,,,
,us,,
,,music,
,,painting,
,,anything,
,,,else
Cookies,,,
1 welcome
2 who we are
3 contact us
4 about
5 us
6 music
7 painting
8 anything
9 else
10 Cookies

View file

@ -1,6 +0,0 @@
{
"botId":"pragmatismo-ai-prd",
"version": "1.0.0",
"description": "Bot pragmatismo.",
"license": "Private"
}

View file

@ -1,58 +0,0 @@
{
"children": [
{
"title": "Bots & AI",
"description": "Bots & inteligência artificial.",
"id": "bots-ai",
"children": [
{
"title": "General Bots",
"description": "Plataforma de bots da pragmatismo.cloud.",
"id": "general-bots"
},
{
"title": "Cortana Intelligence Suite",
"description": "Suite de Big Data da Microsoft.",
"id": "cortana"
}
]
},
{
"title": "Produtividade",
"description": "Artigos sobre sistemas Internos.",
"id": "produtividade",
"children": [
{
"title": "Microsoft Project Online",
"description": "Artigos sobre o Microsoft Project Online.",
"id": "msproject"
},
{
"title": "SharePoint",
"description": "SharePoint, sites e serviços.",
"id": "sharepoint"
},
{
"title": "Office 365",
"description": "Plataforma colaborativa moderna da Microsoft.",
"id": "office365"
},
{
"title": "Microsoft Dynamics",
"description": "Artigos sobre plataforma de CRM da Microsoft.",
"id": "msdynamics"
},
{
"title": "Power BI",
"description": "Dashboards modernos e intuitivos.",
"id": "powerbi"
}
]
},
{
"title": "Sobre",
"description": "Artigos sobre o Bot da pragmatismo.cloud",
"id": "sobre"
}
]
}

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.8 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 18 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 10 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.8 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 8.8 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 8.8 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 20 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.9 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2 KiB

Binary file not shown.
1 subjects from to question answer
2 geral menu answer GB oi

View file

@ -0,0 +1,54 @@
name,value
.gbapp List,
Admin Notify E-mail,
AdminNotify SMS Number,
Answer Mode,
Azure Open AI Embedding Model,
Azure Open AI Endpoint,
Azure Open AI GPT Model,
Azure Open AI Image Model,
Azure Open AI Instance,
Azure Open AI Key,
Azure Open AI Version,
Blob Account,
Blob Key,
Blob Name,
Bot Admin Number,
Bot Number,
Can Publish,
Color1,
Color2,
Debug Web Automation,
Default Content Language,
Default User Language,
Domain,
Enable Audio Hearing,
Feedback Improve Message,
Group Spell,
Keep Text,
Language Detector,
library,
Logo,
Logo Image Height,
Logo Image Url,
Logo Image Width,
Marketplace Bot Id,
Merchant ID,
Merchant Key,
NLP Score,
Notes,
Open AI Key,
Search Score,
Start Dialog,
Store Answer Score,
Synchronize Database,
Transfer To,
Twitter Access Token,
Twitter Access Token Secret,
Twitter Consumer Key,
Twitter Consumer Key Secret,
Website,
Welcome Article,
WhatsApp Admins,
WhatsApp Group ID,
WhatsApp Group Shortcuts,
1 name value
2 .gbapp List
3 Admin Notify E-mail
4 AdminNotify SMS Number
5 Answer Mode
6 Azure Open AI Embedding Model
7 Azure Open AI Endpoint
8 Azure Open AI GPT Model
9 Azure Open AI Image Model
10 Azure Open AI Instance
11 Azure Open AI Key
12 Azure Open AI Version
13 Blob Account
14 Blob Key
15 Blob Name
16 Bot Admin Number
17 Bot Number
18 Can Publish
19 Color1
20 Color2
21 Debug Web Automation
22 Default Content Language
23 Default User Language
24 Domain
25 Enable Audio Hearing
26 Feedback Improve Message
27 Group Spell
28 Keep Text
29 Language Detector
30 library
31 Logo
32 Logo Image Height
33 Logo Image Url
34 Logo Image Width
35 Marketplace Bot Id
36 Merchant ID
37 Merchant Key
38 NLP Score
39 Notes
40 Open AI Key
41 Search Score
42 Start Dialog
43 Store Answer Score
44 Synchronize Database
45 Transfer To
46 Twitter Access Token
47 Twitter Access Token Secret
48 Twitter Consumer Key
49 Twitter Consumer Key Secret
50 Website
51 Welcome Article
52 WhatsApp Admins
53 WhatsApp Group ID
54 WhatsApp Group Shortcuts

View file

@ -1,171 +0,0 @@
body {
background-color: #dadada !important;
}
.loader {
opacity: 1 !important;
filter: opacity(100%);
}
.gb-quality-button-yes {
width: 54px;
text-decoration: none;
text-transform: uppercase;
background-color: green;
color: white;
padding: 2px;
cursor: pointer;
transition: 0.9s;
transition-delay: 0.3s;
border: none;
}
.gb-quality-button-no {
width: 54px;
text-decoration: none;
text-transform: uppercase;
background-color: red;
color: white;
padding: 2px;
cursor: pointer;
transition: 0.9s;
transition-delay: 0.3s;
border: none;
}
.gb-markdown-player-quality {
background-color: #f5e4a8;
padding: 4px;
position: absolute;
bottom: 14px;
left: -9px;
width: 100%;
border-radius: 5px;
color: #52514e;
border: 1px solid #b2a46e;
text-align: center;
}
.media-player {
font-family: "Segoe UI", Tahoma, Geneva, Verdana, sans-serif !important;
}
.media-player-container {
font-family: "Segoe UI", Tahoma, Geneva, Verdana, sans-serif;
}
.media-player-link {
cursor: pointer !important;
}
.gb-bullet-player {
font-family: "Segoe UI", Tahoma, Geneva, Verdana, sans-serif !important;
background: white;
height: 95%;
overflow-y: scroll;
}
.gb-bullet-player-item {
cursor: pointer;
}
.gb-image-player-outter-div {}
.gb-image-player-img {}
.gb-bullet-player-outter-div {}
.gb-video-player-wrapper {
width: 100%;
height: 100%;
}
.gb-video-react-player {
position: relative;
left: 50%;
transform: translateX(-50%);
}
body {
display: flex;
}
.App {
min-height: 100vh;
}
.App .body {
display: flex;
flex-direction: row;
}
.body {
flex-basis: 12em;
/* Default value of the element before distribuing the remaing space */
flex-grow: 0;
/* Defined the ability to groe */
flex-shrink: 0;
/* Defines the ability to shrink */
max-width: 12em;
order: -1;
}
body {
margin: 0;
overflow: hidden;
}
.media-player-container {
overflow: auto;
max-height: 90%;
font-family: "Open Sans", sans-serif;
background: white;
}
.media-player-scroll {
height: 1500px;
}
@media screen and (max-width: 1000px) {
.media-player-scroll h1 {
font-size: 15px;
}
.media-player-scroll p {
font-size: 12px;
}
.media-player-scroll li {
font-size: 12px;
}
}
@media screen and (max-width: 451px) {
.media-player {
position: relative;
zoom: 90%;
height: 94% !important;
width: 95% !important;
background-repeat: no-repeat;
margin-top: 10px;
margin-left: 10px;
margin-right: -40px;
}
.gb-markdown-player-quality {
bottom: -1px;
left: -3px;
}
}
@media screen and (min-width: 451px) {
.media-player {
position: relative;
zoom: 90%;
height: 100% !important;
width: 95% !important;
background-repeat: no-repeat;
margin-top: 10px;
margin-left: 20px;
margin-right: -40px;
}
}

View file

@ -1,47 +0,0 @@
.webchat > div {
height: 100%;
width: 100%;
}
.webchat {
background-color: white !important;
left: 57%;
right: 0%;
top: 0;
bottom: 0;
overflow: auto !important;
}
@media screen and (max-width: 1000px) {
.webchat {
display: inline-block !important;
width: 96% !important;
height: 57% !important;
font-family: 'Open Sans', sans-serif;
font-size: 14px;
left: 50%;
top: 41%;
position: absolute;
margin-left: -48%;
}
}
@media screen and (min-width: 1000px) {
.webchat {
display: inline-block !important;
width: 50% !important;
font-family: 'Open Sans', sans-serif;
font-size: 14px;
top: 1% !important;
height: 96%;
position: absolute;
right: 0;
margin-left: -8%;
position: absolute;
top: 0;
bottom: 0;
border-bottom: 4px solid #4f4f4f;
}
}

View file

@ -1,18 +0,0 @@
.body .container { padding: 1em;width: 100%;height: 100% }
.body .ms-Breadcrumb {
margin-bottom: 1em;
margin-top: 0;
}
.body .selection {
height: calc(100vh - 16.5em);
overflow-x: auto;
}
.body .selection .selection-item {
display: flex;
padding: 0.5em;
}
.body .selection .selection-item .name { margin-left: 1em; }

View file

@ -1,8 +0,0 @@
.footer {
align-items: center;
background-color: #450a64;
display: flex;
justify-content: center;
}
.footer-container { color: white; }

View file

@ -1,31 +0,0 @@
@media screen and (max-width: 1000px) {
.player {
width: 93% !important;
height: 26% !important;
border: 7px solid #272727;
position: absolute;
top: 9%;
left: 50%;
margin-left: -48%;
background: url(../images/general-bot-background.jpg), WHITE;
background-repeat: no-repeat;
background-size: contain;
background-position: center;
}
}
@media screen and (min-width: 1000px) {
.player {
display: inline-block;
width: 46% !important;
height: 81% !important;
border: 7px solid #272727;
background: url(../images/general-bot-background.jpg), WHITE;
background-repeat: no-repeat;
background-size: contain;
background-position: center;
position: absolute;
left: 1%;
top: 15%;
}
}

View file

@ -1,7 +0,0 @@
.media {
margin-top: 20px;
height: 280px !important;
width: 200px !important;
}

View file

@ -1,22 +0,0 @@
.NavBar {
align-items: center;
display: flex;
justify-content: space-between;
padding: 0.2em 0.5em;
border-bottom-width: 1px;
color:black;
height: 100%;
}
/*
.logo {
padding-top: 4em;
}
*/
.NavBar .searchbox { width: 20em; }
.NavBar .searchbox .ms-SearchBox {
background-color: white;
margin-bottom: 0;
}

View file

@ -1,199 +0,0 @@
.ms-Nav {
background: #222;
color: white;
margin-top: 20px;
}
.ms-Nav-link {
color: white !important;
background-color: #222222 !important;
}
.ms-Nav-link a:active {
border-right: 2px solid white;
}
.ms-Nav-compositeLink .ms-Nav-chevronButton.ms-Nav-chevronButton--link {
background: #222222 !important;
}
.ms-Nav-compositeLink.is-selected .ms-Nav-chevronButton,
.ms-Nav-compositeLink.is-selected a {
padding-left: 70px !important;
}
html[dir="ltr"] .ms-Nav-compositeLink.is-selected .ms-Nav-chevronButton:after,
html[dir="ltr"] .ms-Nav-compositeLink.is-selected a:after {
border-left: none !important;
}
@media screen and (max-width: 419px) {
.sidebar {
display: inline-block !important;
background-color: #3f3f3f !important;
height: 8%;
width: 100% !important;
position: absolute;
top: 0;
left: 0;
}
.tittleSideBarMenu {
display: none;
}
.iconMenu {
color: #d1d1d1;
font-size: 13px;
display: inline;
margin-right: 20px;
}
.iconMenu:hover {
color: white;
}
.IconsMenu {
position: absolute;
top: 50%;
margin-top: -23px;
height: 22px;
width: 300px;
left: 50%;
margin-left: -150px;
text-align: center;
font-family: "Open Sans", sans-serif;
}
.iconText {
cursor: pointer;
}
}
@media screen and (min-width: 520px) and (max-width:1000px) {
.tittleSideBarMenu {
display: none;
}
.sidebar {
display: inline-block !important;
background-color: #3f3f3f !important;
height: 8%;
width: 100% !important;
position: absolute;
top: 0;
left: 0;
background-image: url(../images/bot-logo.png);
background-position: 2px 2px;
background-repeat: no-repeat;
background-size: contain;
}
.IconsMenu {
position: absolute;
top: 50%;
margin-top: -11px;
height: 22px;
width: 416px;
left: 100px !important;
margin-left: 0px !important;
text-align: center;
font-family: "Open Sans", sans-serif;
}
.iconMenu {
color: #d1d1d1;
}
.iconMenu:hover {
color: white;
}
}
@media screen and (min-width: 420px) and (max-width: 1000px) {
.sidebar {
display: inline-block !important;
background-color: #3f3f3f !important;
height: 8%;
width: 100% !important;
position: absolute;
top: 0;
left: 0;
}
.tittleSideBarMenu {
display: none;
}
.iconMenu {
color: #d1d1d1;
font-size: 14px;
display: inline;
margin-right: 20px;
}
.iconMenu:hover {
color: white;
}
.IconsMenu {
position: absolute;
top: 50%;
margin-top: -11px;
height: 22px;
width: 416px;
left: 50%;
margin-left: -208px;
text-align: center;
font-family: "Open Sans", sans-serif;
}
.iconText {
cursor: pointer;
}
}
@media screen and (min-width: 1000px) {
.sidebar {
display: inline-block !important;
background-color: #3f3f3f !important;
height: 15%;
position: absolute;
top: 1%;
left: 1%;
width: 46% !important;
border-right: 14px solid #3f3f3f !important;
}
.tittleSideBarMenu {
color: white;
text-align: center;
}
.iconMenu {
color: #d1d1d1;
font-size: 14px;
text-align: center;
margin-right: 20px;
margin-left: 20px;
}
.iconMenu:hover {
color: white;
}
.IconsMenu {
width: 520px;
display: inline-flex;
position: absolute;
left: 50%;
margin-left: -249px;
bottom: 10px;
height: 22px;
font-family: "Open Sans", sans-serif;
}
.iconText {
cursor: pointer;
}
}
.iconText:hover {
cursor: pointer;
}

View file

@ -1,41 +0,0 @@
body {
font-family: 'Open Sans', sans-serif;
font-size: 14px;
margin: 0;
padding: 0;
}
/** Main Layout rules */
.App { min-height: 100vh; }
.App {
display: flex;
flex: 1;
flex-direction: column;
}
.App .body {
display: flex;
flex: 1;
flex-direction: row;
}
.body .sidebar { order: -1; }
.body .content { flex: 1; }
.body .sidebar {
flex: 0 0 12em;
max-width: 12em;
}
.App .header { height: 4em; }
.App .footer { height: 4em; }
/** Text */
.text-red { color: red; }

View file

@ -1,50 +0,0 @@
{
"accent": "Red",
"avatarSize": 40,
"backgroundColor": "White",
"bubbleBackground": "White",
"bubbleBorder": "solid 1px #E6E6E6",
"bubbleBorderRadius": 2,
"bubbleFromUserBackground": "White",
"bubbleFromUserBorder": "solid 1px #E6E6E6",
"bubbleFromUserBorderRadius": 2,
"bubbleFromUserTextColor": "Black",
"bubbleImageHeight": 240,
"bubbleMaxWidth": 480,
"bubbleMinHeight": 40,
"bubbleMinWidth": 250,
"bubbleTextColor": "Black",
"hideSendBox": false,
"microphoneButtonColorOnDictate": "#F33",
"paddingRegular": 10,
"paddingWide": 20,
"sendBoxButtonColor": "#999",
"sendBoxButtonColorOnDisabled": "#CCC",
"sendBoxButtonColorOnFocus": "#333",
"sendBoxButtonColorOnHover": "#333",
"sendBoxHeight": 40,
"showSpokenText": false,
"suggestedActionBackground": "White",
"suggestedActionBorder": "solid 2px",
"suggestedActionBorderRadius": 0,
"suggestedActionDisabledBackground": "White",
"suggestedActionDisabledBorder": "solid 2px #E6E6E6",
"suggestedActionHeight": 40,
"transcriptOverlayButtonBackground": "rgba(0, 0, 0, .6)",
"transcriptOverlayButtonBackgroundOnFocus": "rgba(0, 0, 0, .8)",
"transcriptOverlayButtonBackgroundOnHover": "rgba(0, 0, 0, .8)",
"transcriptOverlayButtonColor": "White",
"transcriptOverlayButtonColorOnFocus": "White",
"transcriptOverlayButtonColorOnHover": "White",
"videoHeight": 270
}

Binary file not shown.

Before

Width:  |  Height:  |  Size: 16 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 25 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 20 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 18 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 70 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 25 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 17 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 18 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 48 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 958 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 13 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 17 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 6.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 247 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 64 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 79 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.7 KiB

View file

@ -1,7 +0,0 @@
{
"version": "1.0.0",
"description": "Default General Bots theme.",
"authors": "pragmatismo.cloud",
"license": "AGPL-3.0"
}

View file

@ -0,0 +1,47 @@
REM SEND FILE “colegioinovar.PNG”
SAVE Log.xlsx, from, mobile, today, now, "start"
TALK "Olá " + username + , eu sou o *InovarBot*, uma inteligência artificial criada para facilitar o seu contato conosco (instituição de ensino) e auxiliar em seu crescimento/progresso/evolução educacional."
row = FIND People.xlsx, mobile= + from
IF row = null THEN
TALK Verifiquei que é seu primeiro contato conosco por aqui. Vamos fazer o seu cadastro e realizar a matrícula logo em seguida.
TALK Por favor, me informe o seu *Nome Completo*:
HEAR nome AS NAME
TALK Qual a sua *data de nascimento*? Exemplo: 23/09/2001.
HEAR datanasc AS DATE
TALK Informe por favor, um *e-mail* pra contato.
HEAR email as EMAIL
TALK Por favor, me informe o seu *CPF* (apenas números).
HEAR cpf AS INTEGER
TALK Qual o *número do seu RG ou CNH* (apenas números, por favor)?
HEAR rg AS INTEGER
TALK Qual o *Órgão emissor* do seu RG ou CNH?
HEAR orgaorg
TALK Qual a *data de emissão* do seu *RG* ou *CNH*? Exemplo: 15/08/2007
HEAR dataemite AS DATE
TALK Qual o seu endereço completo?
HEAR ender
TALK Pronto! Agora vamos realizar a matrícula do aluno.\n\nPor favor, me informe o *Nome Completo*:
HEAR nomealuno AS NAME
TALK Me informe o *CPF* (apenas números) do aluno:
HEAR cpfaluno as INTEGER
TALK Qual a *data de nascimento* do aluno? Exemplo: 07/03/2010
HEAR datanascaluno AS DATE
TALK Qual o *RG* (apenas números) do aluno?
HEAR rgaluno AS DATE
TALK Qual o *Órgão Emissor* do documento?
HEAR orgaoaluno
TALK Qual o *Data de Emissão* do documento?
HEAR emissaoaluno AS DATE
TALK Qual o nome do responsável financeiro do aluno?
HEAR respfinaluno AS NAME
TALK Vou registrar agora estes dados, um instante por favor...
SAVE People.xlsx, id, from, nome, datanasc, email, cpf, rg, orgaorg, dataemite, ender, nomealuno, cpfaluno, datanascaluno
TALK "Pronto, + username + ! O cadastro foi realizado. Iremos entrar em contato. \n\nObrigado!"
ELSE
SAVE Log.xlsx, from, mobile, today, now, hello
TALK Olá, + username + ! Bem-vinda(o) de volta. Você pode tirar dúvidas comigo sobre a secretaria.
END IF

View file

@ -0,0 +1,7 @@
REM SET SCHEDULE "* 8 * * * *"
user = user@domain.com
pass= "*************"
o =get "https://oooooooooo"
caption = REWRITE "Crie um post sobre hotmart e seus produtos, no estilo dica do dia incluíndo 10 hashtags, estilo instagram o texto! Importante, retorne só a saída de texto pronta"
image = GET IMAGE caption
POST username, password, image, caption

View file

@ -0,0 +1,6 @@
TALK "Qual o número do processo? "
HEAR processo
text = GET "processo.pdf"
text = "Com base neste documento, responda as dúvidas da pessoa: \n\n" + text
SET CONTEXT text
TALK "Processo ${processo} carregado. Pode me perguntar qualquer coisa do processo ou me peça um resumo da forma que você precisar. "

View file

@ -0,0 +1,21 @@
TALK Olá! + username + ! Bem vinda(o)!
BEGIN TALK
Ddiálogo/funcionalidade de consulta de processos, o conector WhastApp Vs Microsoft Teams (General Bots - Conector Microsoft Teams X WhatsApp.pdf) teve destaque por caber em diversas realidades vislumbradas nesse segmento.
A funcionalidade Reading Comprehension / GPT permite submeter perguntas a um texto, como o Diário Oficial, em busca de conteúdos relacionados.
O repositório respeita a governança e permite que conteúdos sejam compartilhados com clientes e equipe, conforme credenciais.
O site do escritório pode ter um chat atendendo ao público, onde o mesmo Bot é a entidade invocada.
O cliente pode conversar via WhatsApp com o escritório, estando o agente atendendo via chat do Microsoft Teams e o General Bots atuando como N1, respondendo prontamente a questões de base de conhecimento.
Proativamente o Assistente Virtual pode disparar alertas/notificações para colaboradores e/ou clientes, baseados em agenda ou em KPIs monitorados pela inteligência.
END TALK
BEGIN SYSTEM PROMPT
If someone asks about my technology, I'm an AI virtual assistant powered by the General Bots LLM.
Always answer at the end, saying that your are available, say it each time differently with each response.
END SYSTEM PROMPT