Giter VIP home page Giter VIP logo

generalbots / botserver Goto Github PK

View Code? Open in Web Editor NEW
54.0 13.0 33.0 19.83 MB

LLM Orchestrator powered by langchain and Bot Framework V4 & several features including Whatsapp.

Home Page: https://gb.pragmatismo.cloud

License: Other

Batchfile 0.42% TypeScript 89.07% CSS 3.35% HTML 0.50% JavaScript 6.22% VBScript 0.18% Shell 0.26%
bot bot-server general-bots bot-packages virtual-assistant bot-platform botbuilder azure bots whatsapp

botserver's Introduction

Area Status
Releases General Bots .gbapp lib semantic-release
Community StackExchange Open-source PRs Welcome License
Management Maintenance
Security Known Vulnerabilities
Building & Quality Build Status Coverage Status code style: prettier
Packaging forthebadge ZipFile Dependencies Commitizen friendly
Samples VBA or TypeScript
Docker Image Docker Automated build Docker Build Status MicroBadger Size MicroBadger Layers Docker Pulls
Provided by @lpicanco

General Bots

General Bot Logo

General Bot is a strongly typed package based chat bot server focused in convention over configuration and code-less approaches, which brings software packages and application server concepts to help parallel bot development.

What is a Bot Server?

Bot Server accelerates the process of developing a bot. It provisions all code base, resources and deployment to the cloud, and gives you templates you can choose from whenever you need a new bot. The server has a database and service backend allowing you to further modify your bot package directly by downloading a zip file, editing and uploading it back to the server (deploying process) with no code. The Bot Server also provides a framework to develop bot packages in a more advanced fashion writing custom code in editors like Visual Studio Code, Atom or Brackets.

Everyone can create bots by just copying and pasting some files and using their favorite tools from Office (or any text editor) or Photoshop (or any image editor). BASIC can be used to build custom dialogs so Bot can be extended just like VBA for Excel (currently in alpha).

General Bot Reference Architecture

Samples

Several samples, including a Bot for AD Password Reset, are avaiable on the repository list.

Using complete General Bots Conversational Data Analytics

TALK  "General Bots Labs presents FISCAL DATA SHOW BY BASIC" 

TALK "Gift Contributions to Reduce the Public Debt API (https://fiscaldata.treasury.gov/datasets/gift-contributions-reduce-debt-held-by-public/gift-contributions-to-reduce-the-public-debt)" 
 
result = GET "https://api.fiscaldata.treasury.gov/services/api/fiscal_service/v2/accounting/od/gift_contributions?page[size]=500" 
data = result.data 
data = SELECT YEAR(record_date) as Yr, SUM(CAST(contribution_amt AS NUMBER)) AS Amount FROM data GROUP BY YEAR(record_date) 

TALK "Demonstration of Gift Contributions with AS IMAGE keyword" 
SET THEME dark 
png = data as IMAGE  
SEND FILE png 

DELAY 5 
TALK " Demonstration of Gift Contributions CHART keyword" 
 img = CHART "bar", data  
SEND FILE img 

Guide

Read the General Bots BotBook Guide.

Videos

Now with the General Bots server you can press F5 on Visual Studio to get a bot factory on your environment* published on November 10th, 2018.

General Bot Video

See how easy is to use 'hear' and 'talk' to build Microsoft BOT Framework v4 logic with plain BASIC * published on December 3rd, 2018.

See how easy is to use 'hear' and 'talk' to build Microsoft BOT Framework v4 logic with plain BASIC

Contributing

This project welcomes contributions and suggestions. See our Contribution Guidelines for more details.

Reporting Security Issues

Security issues and bugs should be reported privately, via email, to the pragmatismo.cloud Security team at [email protected]. You should receive a response within 24 hours. If for some reason you do not, please follow up via email to ensure we received your original message.

License & Warranty

General Bot Copyright (c) pragmatismo.cloud. All rights reserved. Licensed under the AGPL-3.0.

According to our dual licensing model, this program can be used either under the terms of the GNU Affero General Public License, version 3, or under a proprietary license.

The texts of the GNU Affero General Public License with an additional permission and of our proprietary license can be found at and in the LICENSE file you have received along with this program.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more details.

"General Bot" is a registered trademark of pragmatismo.cloud. The licensing of the program under the AGPLv3 does not imply a trademark license. Therefore any rights, title and interest in our trademarks remain entirely with us.

💬 Ask a question          📖 Read the Docs Team pictures made with contrib.rocks. General Bots Code Name is Guaribas, the name of a city in Brazil, state of Piaui. Roberto Mangabeira Unger: "No one should have to do work that can be done by a machine".

botserver's People

Contributors

alanperdomo avatar arenasio avatar danielbrucutus avatar davidlerner26 avatar experimentationgarage avatar greenkeeper[bot] avatar joao-parana avatar jramos-br avatar matheus39x avatar oerlabshenrique avatar ph-nascimento avatar phpussente avatar rodrigorodriguez avatar sarahlourenco avatar webgus avatar zuilhose avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

botserver's Issues

Dialog: Subject Catcher.

As default when accuracy of intent is low, a subject catcher should run trying to find an appropriated subject from the Subject Tree and offer this an alternative.

Webchat Store.js error

Ref: microsoft/BotFramework-WebChat#1146

Store.js:692 Uncaught TypeError: e.ofType(...).map(...).filter(...).throttleTime is not a function
at O (Store.js:692)
at combineEpics.js:37
at Array.map ()
at combineEpics.js:36
at t.project (createEpicMiddleware.js:50)
at t._next (map.js:100)
at t.next (Subscriber.js:120)
at t.next (Subject.js:82)
at createEpicMiddleware.js:61
at applyMiddleware.js:52

Move Conversation Reference to the core

Sample code.

  public static getDialogSetup(min: GBMinInstance) {

    return {
      id: '/setup', waterfall: [
        async step => {

          const phone = step.context.activity.from.id;
          const service = new OpptService();
          const ref = await TurnContext.getConversationReference(step.context.activity);
          await service.updateConversationReference(phone, JSON.stringify(ref));

          await step.context.sendActivity('Telefone irá receber notificações.');

          return await step.next();
        }
      ]
    };
  }

  public static getDialogMessageBack(min: GBMinInstance) {

    return {
      id: '/back', waterfall: [
        async step => {

          const phone = step.context.activity.from.id;
          const service = new OpptService();
          const conversationReference = await service.getConversationReference(phone);

          await min.bot.continueConversation(conversationReference, async turnContext => {
            // TODO: MicrosoftAppCredentials.trustServiceUrl('https://directline.botframework.com',
            new Date(new Date().setFullYear(new Date().getFullYear() + 10)));

          await turnContext.sendActivity('proactive hello');

          return await step.next();
        });

        }
      ]
  }
};

A new security advisory on kind-of affects 2 of your repositories

Alerta da noite de 03/04
Parece se tratar de algum movimento externo a Pragmatismo.
A vulnerabilidade alertada afetaria o OppBot?


permite que a entrada do usuário externo substitua certos atributos internos por um nome conflitante, conforme demonstrado por 'constructor': {'name': 'Symbol'}. Portanto, uma carga útil criada pode substituir esse atributo interno para manipular o resultado da detecção de tipo.

GHSA-6c8f-qphg-qjgp

Action required: Greenkeeper could not be activated 🚨

🚨 You need to enable Continuous Integration on Greenkeeper branches of this repository. 🚨

To enable Greenkeeper, you need to make sure that a commit status is reported on all branches. This is required by Greenkeeper because it uses your CI build statuses to figure out when to notify you about breaking changes.

Since we didn’t receive a CI status on the greenkeeper/initial branch, it’s possible that you don’t have CI set up yet. We recommend using Travis CI, but Greenkeeper will work with every other CI service as well.

If you have already set up a CI for this repository, you might need to check how it’s configured. Make sure it is set to run on all new branches. If you don’t want it to run on absolutely every branch, you can whitelist branches starting with greenkeeper/.

Once you have installed and configured CI on this repository correctly, you’ll need to re-trigger Greenkeeper’s initial pull request. To do this, please click the 'fix repo' button on account.greenkeeper.io.

Webchat throttleTime is not a function error

Ref: microsoft/BotFramework-WebChat#1146

Store.js:692 Uncaught TypeError: e.ofType(...).map(...).filter(...).throttleTime is not a function
at O (Store.js:692)
at combineEpics.js:37
at Array.map ()
at combineEpics.js:36
at t.project (createEpicMiddleware.js:50)
at t._next (map.js:100)
at t.next (Subscriber.js:120)
at t.next (Subject.js:82)
at createEpicMiddleware.js:61
at applyMiddleware.js:52

New Answer Type: Navigate to URL

A customer wants a new answer type: Navigate to URL.
Proposed syntax on Answer column, just like dialog:vba-name:

url:http://www.domain.com

On web channel, this is shown and the browser navigates to this link on a new window/tab.
On other channels, the link is shown allowing the address to be reached by tap/click.

404 em imagens do logo

While accessing the web version a 404 is thrown.

To Reproduce
Steps to reproduce the behavior:

  1. Go to bot homepage
  2. Go to console (F12)
  3. See error

Action required: Greenkeeper could not be activated 🚨

🚨 You need to enable Continuous Integration on Greenkeeper branches of this repository. 🚨

To enable Greenkeeper, you need to make sure that a commit status is reported on all branches. This is required by Greenkeeper because it uses your CI build statuses to figure out when to notify you about breaking changes.

Since we didn’t receive a CI status on the greenkeeper/initial branch, it’s possible that you don’t have CI set up yet. We recommend using Travis CI, but Greenkeeper will work with every other CI service as well.

If you have already set up a CI for this repository, you might need to check how it’s configured. Make sure it is set to run on all new branches. If you don’t want it to run on absolutely every branch, you can whitelist branches starting with greenkeeper/.

Once you have installed and configured CI on this repository correctly, you’ll need to re-trigger Greenkeeper’s initial pull request. To do this, please click the 'fix repo' button on account.greenkeeper.io.

Error on run build task in VSCode

Describe the bug
When run build task in VSCode occurs the folowing error, despite the build run succesfuly:
Error: The typescript task detection didn't contribute a task for the following configuration:
{
"type": "typescript",
"tsconfig": "tsconfig.json",
"option": "watch",
"problemMatcher": [
"$tsc-watch"
],
"group": {
"kind": "build",
"isDefault": true
}
}
The task will be ignored.

To Reproduce
Steps to reproduce the behavior:

  1. Ctrl + B
  2. Run tscwatch [BotServer path]

Expected behavior
Build without errors

Error finding dialog associated to NLP event has been thrown, but in fact the error was thrown inside a valid dialog route.

2020-02-28T12:22:28.857Z [GeneralBots] �[31merror�[39m: ERROR: Error finding dialog associated to NLP event: showReviews: connect ETIMEDOUT [IP REMOVED]: Error: Error finding dialog associated to NLP event: showReviews: connect ETIMEDOUT [IP REMOVED]:
at GBConversationalService.routeNLP (D:\home\site\wwwroot\dist\packages\core.gbapp\services\GBConversationalService.js:128:39)
at process._tickCallback (internal/process/next_tick.js:68:7)

The automated release is failing 🚨

🚨 The automated release from the master branch failed. 🚨

I recommend you give this issue a high priority, so other packages depending on you could benefit from your bug fixes and new features.

You can find below the list of errors reported by semantic-release. Each one of them has to be resolved in order to automatically publish your package. I’m sure you can resolve this 💪.

Errors are usually caused by a misconfiguration or an authentication problem. With each error reported below you will find explanation and guidance to help you to resolve it.

Once all the errors are resolved, semantic-release will release your package the next time you push a commit to the master branch. You can also manually restart the failed CI job that runs semantic-release.

If you are not sure how to resolve this, here is some links that can help you:

If those don’t help, or if this issue is reporting something you think isn’t right, you can always ask the humans behind semantic-release.


Invalid npm token.

The npm token configured in the NPM_TOKEN environment variable must be a valid token allowing to publish to the registry https://registry.npmjs.org/.

If you are using Two-Factor Authentication, make configure the auth-only level is supported. semantic-release cannot publish with the default auth-and-writes level.

Please make sure to set the NPM_TOKEN environment variable in your CI with the exact value of the npm token.


Good luck with your project ✨

Your semantic-release bot 📦🚀

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.