- Add startup wizard module for first-run configuration - Add white-label branding system with .product file support - Add bot manager for lifecycle, MinIO buckets, and templates - Add version tracking registry for component updates - Create comparison doc: BASIC vs n8n/Zapier/Make/Copilot - Add WhatsApp-style sample dialogs to template documentation - Add data traceability SVG diagram ```
16 KiB
General Bots Public APIs Integration
This package provides 50+ free API keywords for General Bots, allowing you to integrate various public services without requiring API keys or authentication.
📦 Package Contents
This .gbai template includes the following BASIC keyword files:
weather-apis.bas- Weather data and forecastsanimals-apis.bas- Animal facts and imagesentertainment-apis.bas- Jokes, quotes, and fun contentfood-apis.bas- Food recipes and drink informationdata-utility-apis.bas- Data utilities and geocoding
🌤️ Weather APIs
7Timer! Astro Weather
Get 7-day astronomical weather forecast for stargazing.
PARAM location AS string LIKE "116.39,39.90"
' Returns: Weather data for astronomy observation
7Timer! Civil Weather
Get 7-day civil weather forecast with temperature.
PARAM location AS string LIKE "116.39,39.90"
' Returns: Temperature, precipitation, wind data
Open-Meteo Weather
Get real-time weather data (70+ years of historical data available).
PARAM latitude AS number LIKE 52.52
PARAM longitude AS number LIKE 13.41
' Returns: Current weather conditions
Rain Viewer Radar Map
Get available rain radar map timestamps.
DESCRIPTION "Get available rain radar map timestamps"
' Returns: Radar data for visualization
OpenSenseMap Weather Stations
Get data from personal weather stations in a bounding box.
PARAM bbox AS string LIKE "7.6,51.2,7.8,51.3"
' Returns: Temperature data from senseBoxes
Air Quality Index
Get Air Quality Index data for major cities.
PARAM city AS string LIKE "beijing"
' Returns: AQI level and health recommendations
🐾 Animals APIs
Random Cat Fact
DESCRIPTION "Get a random cat fact"
' Returns: Interesting cat fact
Random Dog Fact
DESCRIPTION "Get a random dog fact"
' Returns: Interesting dog fact
Random Dog Image
DESCRIPTION "Get a random dog image URL"
' Returns: URL and downloads image
Random Cat Image
DESCRIPTION "Get a random cat image from Cataas"
' Returns: Cat image URL
Random Fox Image
DESCRIPTION "Get a random fox image"
' Returns: Fox image URL
Random Duck Image
DESCRIPTION "Get a random duck image"
' Returns: Duck image URL
Random Shiba Inu Image
DESCRIPTION "Get a random Shiba Inu dog image"
' Returns: Shiba Inu image URL
HTTP Cat (Status Code Cats)
PARAM status_code AS integer LIKE 404
' Returns: Cat image representing HTTP status
HTTP Dog (Status Code Dogs)
PARAM status_code AS integer LIKE 404
' Returns: Dog image representing HTTP status
PlaceBear Placeholder
PARAM width AS integer LIKE 400
PARAM height AS integer LIKE 300
' Returns: Bear placeholder image
PlaceDog Placeholder
PARAM width AS integer LIKE 400
PARAM height AS integer LIKE 300
' Returns: Dog placeholder image
PlaceKitten Placeholder
PARAM width AS integer LIKE 400
PARAM height AS integer LIKE 300
' Returns: Kitten placeholder image
MeowFacts
PARAM count AS integer LIKE 1
' Returns: Random cat facts (up to 100)
Random Axolotl
DESCRIPTION "Get random axolotl picture and facts"
' Returns: Axolotl image and facts
Zoo Animals Info
DESCRIPTION "Get information about various zoo animals"
' Returns: Animal data with images
Dog Breeds List
DESCRIPTION "Get a list of all dog breeds"
' Returns: Array of dog breeds
Specific Dog Breed Image
PARAM breed AS string LIKE "husky"
' Returns: Image of specified breed
😄 Entertainment APIs
Chuck Norris Joke
DESCRIPTION "Get a random Chuck Norris joke"
' Returns: Chuck Norris joke
Chuck Norris Categories
DESCRIPTION "Get available Chuck Norris joke categories"
' Returns: Array of categories
Chuck Norris Joke by Category
PARAM category AS string LIKE "dev"
' Returns: Joke from specific category
Dad Joke
DESCRIPTION "Get a random dad joke"
' Returns: Dad joke from icanhazdadjoke
Search Dad Jokes
PARAM search_term AS string LIKE "cat"
' Returns: Dad jokes containing search term
Bored Activity
DESCRIPTION "Get a random activity suggestion"
' Returns: Activity suggestion with details
Bored Activity by Type
PARAM activity_type AS "education", "recreational", "social", "diy", "charity", "cooking", "relaxation", "music", "busywork"
' Returns: Activity of specific type
Random Useless Fact
DESCRIPTION "Get a random useless but true fact"
' Returns: Useless fact
Random Fun Fact
DESCRIPTION "Get a random fun fact"
' Returns: Fun fact
Kanye West Quote
DESCRIPTION "Get a random Kanye West quote"
' Returns: Kanye quote
Advice Slip
DESCRIPTION "Get a random piece of advice"
' Returns: Random advice
Search Advice
PARAM query AS string LIKE "love"
' Returns: Advice containing query word
Corporate Buzzword
DESCRIPTION "Get random corporate buzzwords"
' Returns: Corporate buzzword phrase
Yo Momma Joke
DESCRIPTION "Get a random Yo Momma joke"
' Returns: Yo Momma joke
Random Quote
DESCRIPTION "Get a random inspirational quote"
' Returns: Quote with author
Quote by Author
PARAM author AS string LIKE "einstein"
' Returns: Quote by specific author
Programming Quote
DESCRIPTION "Get a random programming quote"
' Returns: Programming-related quote
Zen Quote
DESCRIPTION "Get a random Zen/Stoicism quote"
' Returns: Zen quote
Affirmation
DESCRIPTION "Get a random positive affirmation"
' Returns: Daily affirmation
Random Trivia
DESCRIPTION "Get a random trivia question"
' Returns: Trivia question with answer
Multiple Trivia Questions
PARAM amount AS integer LIKE 5
' Returns: Multiple trivia questions
Excuse Generator
DESCRIPTION "Get a random excuse"
' Returns: Random excuse
Insult Generator
DESCRIPTION "Get a random insult (clean)"
' Returns: Random insult
Compliment Generator
DESCRIPTION "Get a random compliment"
' Returns: Random compliment
🍽️ Food & Drink APIs
Random Coffee Image
DESCRIPTION "Get a random coffee image"
' Returns: Coffee image URL
Random Food Dish
DESCRIPTION "Get a random food dish image"
' Returns: Food dish image
Random Food by Category
PARAM category AS "biryani", "burger", "butter-chicken", "dessert", "dosa", "idly", "pasta", "pizza", "rice", "samosa"
' Returns: Food image from category
Random Meal Recipe
DESCRIPTION "Get a random meal recipe"
' Returns: Full recipe with ingredients
Search Meal by Name
PARAM meal_name AS string LIKE "chicken"
' Returns: Meals matching search
Random Cocktail Recipe
DESCRIPTION "Get a random cocktail recipe"
' Returns: Cocktail recipe with ingredients
Search Cocktail by Name
PARAM cocktail_name AS string LIKE "margarita"
' Returns: Cocktails matching search
Search Cocktail by Ingredient
PARAM ingredient AS string LIKE "vodka"
' Returns: Cocktails with ingredient
Fruit Information
PARAM fruit_name AS string LIKE "apple"
' Returns: Nutritional information
All Fruits List
DESCRIPTION "Get a list of all fruits"
' Returns: Array of fruits
Fruits by Family
PARAM family AS string LIKE "Rosaceae"
' Returns: Fruits from specific family
Random Taco Recipe
DESCRIPTION "Get a random taco recipe"
' Returns: Taco recipe components
PunkAPI Beer Info
DESCRIPTION "Get a random beer recipe"
' Returns: Beer details and recipe
Search Beer by Name
PARAM beer_name AS string LIKE "punk"
' Returns: Beers matching search
High ABV Beers
PARAM min_abv AS number LIKE 8.0
' Returns: Beers with high alcohol content
Bacon Ipsum Text
PARAM paragraphs AS integer LIKE 3
' Returns: Bacon-themed lorem ipsum
🔧 Data Utility & Geocoding APIs
Generate UUID
DESCRIPTION "Generate a random UUID v4"
' Returns: UUID string
Generate Multiple UUIDs
PARAM count AS integer LIKE 5
' Returns: Array of UUIDs
Get My IP Address
DESCRIPTION "Get your current public IP"
' Returns: IP address string
Get IP Geolocation
PARAM ip_address AS string LIKE "8.8.8.8"
' Returns: Country, city, coordinates, ISP
Check if Number is Even
PARAM number AS integer LIKE 42
' Returns: Boolean (humor API)
Random Data Generator
DESCRIPTION "Generate random test data"
' Returns: User profile data
Generate Lorem Ipsum
PARAM paragraphs AS integer LIKE 3
' Returns: Lorem ipsum text
QR Code Generator
PARAM text AS string LIKE "https://pragmatismo.com.br"
PARAM size AS integer LIKE 200
' Returns: QR code image
Barcode Generator
PARAM barcode_data AS string LIKE "1234567890"
PARAM format AS "code128", "ean13", "upca", "code39"
' Returns: Barcode image
Country Information
PARAM country AS string LIKE "brazil"
' Returns: Detailed country data
All Countries List
DESCRIPTION "Get a list of all countries"
' Returns: Array of 250+ countries
Countries by Region
PARAM region AS "africa", "americas", "asia", "europe", "oceania"
' Returns: Countries in region
Currency Converter
PARAM amount AS number LIKE 100
PARAM from_currency AS string LIKE "USD"
PARAM to_currency AS string LIKE "EUR"
' Returns: Converted amount
Timezone Info
PARAM timezone AS string LIKE "America/New_York"
' Returns: Current time in timezone
All Timezones List
DESCRIPTION "Get all timezones"
' Returns: Array of 400+ timezones
Public Holidays
PARAM country_code AS string LIKE "US"
PARAM year AS integer LIKE 2024
' Returns: List of public holidays
Number Facts
PARAM number AS integer LIKE 42
' Returns: Interesting number fact
Random Number Fact
DESCRIPTION "Get a random number fact"
' Returns: Random number fact
Date Facts
PARAM month AS integer LIKE 3
PARAM day AS integer LIKE 14
' Returns: Historical facts about date
Math Fact
PARAM number AS integer LIKE 1729
' Returns: Mathematical fact
Yes or No Decision
DESCRIPTION "Get a random Yes/No answer"
' Returns: Yes or No with GIF
Postcode Lookup UK
PARAM postcode AS string LIKE "SW1A1AA"
' Returns: UK postcode information
Brazilian CEP Lookup
PARAM cep AS string LIKE "01310-100"
' Returns: Brazilian postal code data
JSON Placeholder Post
DESCRIPTION "Get sample post data"
' Returns: Test post data
Random User Generator
DESCRIPTION "Generate random user data"
' Returns: Realistic user profile
Multiple Random Users
PARAM count AS integer LIKE 5
' Returns: Array of user profiles
🚀 Usage Examples
Example 1: Weather Bot
TALK "Where would you like to check the weather?"
HEAR city AS NAME
REM Get coordinates (you could use geocoding API)
lat = 52.52
lon = 13.41
REM Get weather data
weather_url = "https://api.open-meteo.com/v1/forecast?latitude=" + lat + "&longitude=" + lon + "¤t_weather=true"
weather = GET weather_url
TALK "Current temperature in " + city + ": " + weather.current_weather.temperature + "°C"
TALK "Wind speed: " + weather.current_weather.windspeed + " km/h"
Example 2: Daily Motivation Bot
REM Get random quote
quote_data = GET "https://api.quotable.io/random"
REM Get affirmation
affirmation = GET "https://www.affirmations.dev/"
TALK "🌟 Daily Motivation:"
TALK ""
TALK "Quote of the Day:"
TALK '"' + quote_data.content + '"'
TALK "— " + quote_data.author
TALK ""
TALK "💖 Affirmation:"
TALK affirmation.affirmation
Example 3: Random Pet Image Bot
HEAR choice AS "Cat", "Dog", "Fox", "Duck"
IF choice = "Cat" THEN
image_url = "https://cataas.com/cat"
ELSE IF choice = "Dog" THEN
dog_data = GET "https://random.dog/woof.json"
image_url = dog_data.url
ELSE IF choice = "Fox" THEN
fox_data = GET "https://randomfox.ca/floof/"
image_url = fox_data.image
ELSE IF choice = "Duck" THEN
duck_data = GET "https://random-d.uk/api/random"
image_url = duck_data.url
END IF
TALK "Here's your random " + choice + " image!"
file = DOWNLOAD image_url
SEND FILE file
Example 4: Recipe Finder Bot
TALK "What are you in the mood for?"
HEAR food AS "Meal", "Cocktail", "Beer"
IF food = "Meal" THEN
meal = GET "https://www.themealdb.com/api/json/v1/1/random.php"
recipe = meal.meals[0]
TALK "🍳 " + recipe.strMeal
TALK recipe.strInstructions
ELSE IF food = "Cocktail" THEN
cocktail = GET "https://www.thecocktaildb.com/api/json/v1/1/random.php"
drink = cocktail.drinks[0]
TALK "🍹 " + drink.strDrink
TALK drink.strInstructions
ELSE IF food = "Beer" THEN
beer_data = GET "https://api.punkapi.com/v2/beers/random"
beer = beer_data[0]
TALK "🍺 " + beer.name
TALK beer.description
END IF
Example 5: Travel Information Bot
TALK "Which country would you like to know about?"
HEAR country AS NAME
country_url = "https://restcountries.com/v3.1/name/" + country
country_data = GET country_url
IF country_data AND UBOUND(country_data) > 0 THEN
info = country_data[0]
TALK "🌍 " + info.name.common
TALK "Capital: " + info.capital[0]
TALK "Population: " + info.population
TALK "Region: " + info.region
TALK "Languages: " + JOIN(info.languages)
TALK "Currency: " + JOIN(info.currencies)
REM Get public holidays
holidays_url = "https://date.nager.at/api/v3/PublicHolidays/2024/" + info.cca2
holidays = GET holidays_url
TALK ""
TALK "🎉 Upcoming Holidays:"
FOR EACH holiday IN holidays
TALK "• " + holiday.date + " - " + holiday.name
END FOR
END IF
📚 API Sources
All APIs in this package are from the public-apis repository and require no authentication.
Categories Covered:
- ☁️ Weather & Environment
- 🐾 Animals & Pets
- 😄 Entertainment & Humor
- 🍽️ Food & Drink
- 🌍 Geography & Location
- 📊 Data & Utilities
- 💱 Currency & Finance
- 🎲 Random Generators
- 📚 Facts & Trivia
⚠️ Important Notes
- No API Keys Required: All keywords use free, no-auth APIs
- Rate Limits: Some APIs may have rate limits on free tier
- Availability: APIs are third-party services and availability may vary
- Production Use: For production apps, consider APIs with authentication for better reliability
- Terms of Service: Always respect the terms of service of each API
🔧 Customization
You can easily extend these keywords or create your own:
REM Template for new API keyword
PARAM your_param AS string LIKE "example"
DESCRIPTION "What your keyword does"
api_url = "https://api.example.com/endpoint?param=" + your_param
data = GET api_url
IF data THEN
TALK "Success!"
TALK data.result
RETURN data
ELSE
TALK "❌ Error fetching data"
RETURN NULL
END IF
🤝 Contributing
To add more API keywords:
- Find a free, no-auth API from public-apis
- Create a
.basor.basfile in the appropriate category - Follow the existing keyword pattern
- Test thoroughly
- Update this README
📄 License
This template follows the General Bots license. Individual APIs have their own terms of service.
🌟 Credits
- public-apis - Comprehensive list of public APIs
- 7Timer! - Weather forecasting
- Open-Meteo - Weather API
- TheMealDB - Meal recipes
- TheCocktailDB - Cocktail recipes
- And many more amazing free API providers!
General Bots: Your Prompt Engineering Gets Done. 🤖