Free Alternative For The Cleverbot API
Project description
cleverbotfree
Cleverbot.com used to have a free API for their chatbot application. They have
removed their free API in place of a tiered subscription API service.
cleverbotfree is a free alternative to that API that uses a headless Firefox
browser to communicate with their chatbot application. You can use this module
to create applications/bots that send and receive messages to the Cleverbot
chatbot application.
Installation
Requirments
- node >= 14.16.1
- Python >= 3.8.0
- python3-pip >= 21.1.1
Once requirments are met, you can install this library through pip.
pip install cleverbotfree
Drivers
This library uses the Playwright library to interface the Cleverbot website
with a headless Firefox browser.
To download the Playwright Firefox browser binary simply run this command after
installing cleverbotfree:
playwright install firefox
Usage
Examples
Example of a simple CLI script that creates a persistent chat session until closed.
import asyncio
import cleverbotfree
def chat():
"""Example code using cleverbotfree sync api."""
with cleverbotfree.sync_playwright() as p_w:
c_b = cleverbotfree.Cleverbot(p_w)
while True:
user_input = input("User: ")
if user_input == 'quit':
break
bot = c_b.single_exchange(user_input)
print('Cleverbot:', bot)
c_b.close()
chat()
async def async_chat():
"""Example code using cleverbotfree async api."""
async with cleverbotfree.async_playwright() as p_w:
c_b = await cleverbotfree.CleverbotAsync(p_w)
while True:
user_input = input("User: ")
if user_input == 'quit':
break
bot = await c_b.single_exchange(user_input)
print('Cleverbot:', bot)
await c_b.close()
asyncio.run(async_chat())
Example of a simple CLI script using the class decorator.
import asyncio
from cleverbotfree import CleverbotAsync
from cleverbotfree import Cleverbot
@Cleverbot.connect
def chat(bot, user_prompt, bot_prompt):
"""Example code using cleverbotfree sync api with decorator."""
while True:
user_input = input(user_prompt)
if user_input == "quit":
break
reply = bot.single_exchange(user_input)
print(bot_prompt, reply)
bot.close()
chat("User: ", "Cleverbot:")
@CleverbotAsync.connect
async def async_chat(bot, user_prompt, bot_prompt):
"""Example code using cleverbotfree async api with decorator."""
while True:
user_input = input(user_prompt)
if user_input == "quit":
break
reply = await bot.single_exchange(user_input)
print(bot_prompt, reply)
await bot.close()
asyncio.run(async_chat("User: ", "Cleverbot:"))
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
File details
Details for the file cleverbotfree-2.3.6.tar.gz
.
File metadata
- Download URL: cleverbotfree-2.3.6.tar.gz
- Upload date:
- Size: 17.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.9.18
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 696ae5a143baa89e1cac6c1f025618e915015c85e9c47e0f20b5d4bf7a58edf2 |
|
MD5 | b30ab70936095333b39b6c2429391d83 |
|
BLAKE2b-256 | df7d343653a4e2db785bb489bfce57bbe652be41795686f1fe9c8555a0526641 |