Cleverbot.com disposait auparavant d'une API gratuite pour son application de chatbot. Ils ont
supprimé leur API gratuite à la place d'un service API d'abonnement à plusieurs niveaux.
smartbotfree est une alternative gratuite à cette API qui utilise un Firefox sans tête
navigateur pour communiquer avec leur application chatbot. Vous pouvez utiliser ce module
pour créer des applications/bots qui envoient et reçoivent des messages au Cleverbot
application de chatbot.
Une fois les conditions remplies, vous pouvez installer cette bibliothèque via pip.
pip install cleverbotfree
Cette bibliothèque utilise la bibliothèque Playwright pour interfacer le site Cleverbot
avec un navigateur Firefox sans tête.
Pour télécharger le binaire du navigateur Playwright Firefox, exécutez simplement cette commande après
installation de smartbotfree :
playwright install firefox
Exemples
Exemple de script CLI simple qui crée une session de discussion persistante jusqu'à sa fermeture.
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 ())
Exemple de script CLI simple utilisant le décorateur de classe.
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:" ))