mirror of
https://github.com/browser-use/browser-use
synced 2026-05-06 17:52:15 +02:00
70 lines
3.0 KiB
Python
70 lines
3.0 KiB
Python
"""
|
|
This examples requires you to have a Discord bot token and the bot already added to a server.
|
|
|
|
Five Steps to create and invite a Discord bot:
|
|
|
|
1. Create a Discord Application:
|
|
* Go to the Discord Developer Portal: https://discord.com/developers/applications
|
|
* Log in to the Discord website.
|
|
* Click on "New Application".
|
|
* Give the application a name and click "Create".
|
|
2. Configure the Bot:
|
|
* Navigate to the "Bot" tab on the left side of the screen.
|
|
* Make sure "Public Bot" is ticked if you want others to invite your bot.
|
|
* Generate your bot token by clicking on "Reset Token", Copy the token and save it securely.
|
|
* Do not share the bot token. Treat it like a password. If the token is leaked, regenerate it.
|
|
3. Enable Privileged Intents:
|
|
* Scroll down to the "Privileged Gateway Intents" section.
|
|
* Enable the necessary intents (e.g., "Server Members Intent" and "Message Content Intent").
|
|
--> Note: Enabling privileged intents for bots in over 100 guilds requires bot verification. You may need to contact Discord support to enable privileged intents for verified bots.
|
|
4. Generate Invite URL:
|
|
* Go to "OAuth2" tab and "OAuth2 URL Generator" section.
|
|
* Under "scopes", tick the "bot" checkbox.
|
|
* Tick the permissions required for your bot to function under “Bot Permissions”.
|
|
* e.g. "Send Messages", "Send Messages in Threads", "Read Message History", "Mention Everyone".
|
|
* Copy the generated URL under the "GENERATED URL" section at the bottom.
|
|
5. Invite the Bot:
|
|
* Paste the URL into your browser.
|
|
* Choose a server to invite the bot to.
|
|
* Click “Authorize”.
|
|
--> Note: The person adding the bot needs "Manage Server" permissions.
|
|
6. Run the code below to start the bot with your bot token.
|
|
7. Write e.g. "/bu whats the weather in Tokyo?" to start a browser-use task and get a response inside the Discord channel.
|
|
"""
|
|
|
|
import os
|
|
|
|
from dotenv import load_dotenv
|
|
from langchain_google_genai import ChatGoogleGenerativeAI
|
|
from pydantic import SecretStr
|
|
|
|
from browser_use import BrowserConfig
|
|
from browser_use.agent.service import Agent
|
|
from examples.integrations.discord_api import DiscordBot
|
|
|
|
load_dotenv()
|
|
|
|
# load credentials from environment variables
|
|
bot_token = os.getenv('DISCORD_BOT_TOKEN')
|
|
if not bot_token:
|
|
raise ValueError('Discord bot token not found in .env file.')
|
|
|
|
api_key = os.getenv('GEMINI_API_KEY')
|
|
if not api_key:
|
|
raise ValueError('GEMINI_API_KEY is not set')
|
|
|
|
llm = ChatGoogleGenerativeAI(model='gemini-2.0-flash-exp', api_key=SecretStr(api_key))
|
|
|
|
bot = DiscordBot(
|
|
llm=llm, # required; instance of BaseChatModel
|
|
prefix='$bu', # optional; prefix of messages to trigger browser-use, defaults to "$bu"
|
|
ack=True, # optional; whether to acknowledge task receipt with a message, defaults to False
|
|
browser_config=BrowserConfig(
|
|
headless=False
|
|
), # optional; useful for changing headless mode or other browser configs, defaults to headless mode
|
|
)
|
|
|
|
bot.run(
|
|
token=bot_token, # required; Discord bot token
|
|
)
|