Uh oh!
There was an error while loading.Please reload this page.
- Notifications
You must be signed in to change notification settings - Fork58
GoogleBard - A reverse engineered API for Google Bard chatbot for NodeJS
License
PawanOsman/GoogleBard
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
An NPM module for creating GoogleBard chatbot using Bard's reverse-engineered API. With reverse-engineered API functionalities, it empowers developers to harness the full potential of Bard.
- Simulating Response Streaming: The package simulates response streaming, allowing you to get the response as soon as it is available.
- Multiple Conversations: The package supports multiple conversations, allowing you to have multiple parallel conversations with the chatbot.
- Proxy Support: The package supports proxies, allowing you to use the chatbot from any location.
- Lightweight: The package is very lightweight, making it easy to use and integrate into your projects.
- InstallCookie-Editor extension.
- Go tohttps://bard.google.com and login.
- Click on the extension icon and copy a cookie starting with
__Secure-{account_number}PSID
.- For example,
__Secure-1PSID
- Ensure you are copying the correct cookie corresponding to the account number, which can be found in the URL as
bard.google.com/u/{account_number}
. - If your account number is
/u/2
, search for the cookie named__Secure-2PSID
. - If your account number is
/u/3
, search for the cookie named__Secure-3PSID
.
- For example,
- Paste the cookie in your code.
To install the package, run the following command:
npm install googlebard
import{Bard}from"googlebard";letcookies=`__Secure-1PSID=<YOUR_COOKIE>`;letbot=newBard(cookies);// other code - scroll below to view different functionalities available
inMemory
: optional - if true will not save conversations to disksavePath
: optional - path to save conversations (e.g './conversations.json')proxy
: optional - handles proxy configurations
import{Bard}from"googlebard";letcookies=`__Secure-1PSID=<YOUR_COOKIE>`;letbot=newBard(cookies,{inMemory:false,savePath:"./conversations.json",proxy:{host:process.env.PROXY_HOST,port:process.env.PROXY_PORT,auth:{username:process.env.PROXY_USERNAME,password:process.env.PROXY_PASSWORD,},protocol:"http",},});// other code
To ask bot questions, you may use thebot.ask(<prompt>, <conversation_id>:optional)
functionality. A usage of it is given below:
import{Bard}from"googlebard";letcookies=`__Secure-1PSID=<YOUR_COOKIE>`;letbot=newBard(cookies);letconversationId="some_random_id";// optional: to make it remember the conversationletresponse=awaitbot.ask("What is my name?",conversationId);// conversationId is optionalconsole.log(response);
>> I don't know your name. I am a large language model, also known as a conversational AI or cha...
Using the sameconversation_id
again will allow the bot to remember what you said earlier in the conversation
import{Bard}from"googlebard";letcookies=`__Secure-1PSID=<YOUR_COOKIE>`;letbot=newBard(cookies,{inMemory:false,savePath:"./conversations.json",// this is being done to save crucial information about the conversation so the bot remembers it});letconversationId="test_id";letresponse=awaitbot.ask("My name is Mehul",conversationId);console.log(response);
>> Hi Mehul, it's nice to meet you! I'm Bard...
import{Bard}from"googlebard";letcookies=`__Secure-1PSID=<YOUR_COOKIE>`;letbot=newBard(cookies,{inMemory:false,savePath:"./conversations.json",});letconversationId="test_id";letresponse=awaitbot.ask("What is my name?",conversationId)console.log(response);
>> I know your name is Mehul. You told me earlier.
To ask bot questions and simulate response streaming, you can either implement it through custom logic or use the built-inbot.askStream(<callback>, <content>, <conversation_id>:optional)
. A usage of it is given below:
import{Bard}from"googlebard";letcookies=`__Secure-1PSID=<YOUR_COOKIE>`;letbot=newBard(cookies,{inMemory:false,savePath:"./conversations.json",});letconversationId="test_id";awaitbot.askStream((res)=>{console.log(res);},// returns the response"Hello?",conversationId,);
>> Your name is Mehul. I will remember that for thenext time we speak.
To reset a conversation, you may use thebot.resetConversation(<conversation_id>)
functionality. This functionality allows the user to make the bot forget about previous conversations provided they are all under the sameconversation_id
. A usage of it is given below:
import{Bard}from"googlebard";letcookies=`__Secure-1PSID=<YOUR_COOKIE>`;letbot=newBard(cookies,{inMemory:false,savePath:"./conversations.json",});letconversationId="test_id";// notice id is the same as that used in the above exampleletresponse=awaitbot.ask("what is my name?",conversationId);console.log(response);
>> You told me your name is Mehul.
import{Bard}from"googlebard";letcookies=`__Secure-1PSID=<YOUR_COOKIE>`;letbot=newBard(cookies,{inMemory:false,savePath:"./conversations.json",});letconversationId="test_id";bot.resetConversation(conversationId)// resetting conversationletresponse=awaitbot.ask("what is my name?",conversationId);console.log(response);
>> I understand that you are trying to get me to say your name, but...
In order to retrieve all your conversations, you may either implement the functionality through a custom logic or simply use the built-inbot.getAllConversations()
. .A usage of it is given below:
import{Bard}from"googlebard";letcookies=`__Secure-1PSID=<YOUR_COOKIE>`;letbot=newBard(cookies,{savePath:"./conversations.json",});letresponse=bot.getAllConversations()console.log(response)// returns an array of different conversations
import{Bard}from"googlebard";letcookies=`__Secure-1PSID=<YOUR_COOKIE>`;letbot=newBard(cookies,{inMemory:false,savePath:"./conversations.json",});letconversationId="test_id";awaitbot.waitForLoad();letresponse=bot.getConversationById(conversationId);console.log(response);// returns an object
A simple example has been added to theexamples
directory which shows how GoogleBard can be used to create a CLI chatbot. More such examples are yet to be added, so stay tuned!
About
GoogleBard - A reverse engineered API for Google Bard chatbot for NodeJS
Topics
Resources
License
Uh oh!
There was an error while loading.Please reload this page.
Stars
Watchers
Forks
Sponsor this project
Uh oh!
There was an error while loading.Please reload this page.
Packages0
Uh oh!
There was an error while loading.Please reload this page.
Contributors4
Uh oh!
There was an error while loading.Please reload this page.