A helpful Discord bot powered by Gemini
Project description
奈奈 - 智能陪伴機器人 (nana_bot) v5.1.9
簡介
奈奈是一個基於 Google Gemini 模型的 Discord 機器人,旨在提供溫暖、理解和專業的陪伴,並提供一些伺服器管理功能。 奈奈也具備自行上網搜尋資料和瀏覽網站的能力,讓她的知識更豐富,回覆更精確。
功能
- 陪伴與支持:
- 使用繁體中文與用戶進行自然流暢的對話。
- 提供情感支持和建議,擅長 DBT 辯證行為治療。
- 記憶最近 60 則對話內容,讓互動更自然。
- 使用者 @tag 機器人時,機器人會回應。
- 資訊檢索:
- 自動上網搜尋資料:奈奈可以根據對話內容,自行判斷是否需要上網搜尋資料,以提供更準確的回覆。 例如,當使用者詢問天氣、新聞或其他 factual 的資訊時,奈奈會自動搜尋相關資訊。
- 使用
/search google/bing/yahoo [關鍵字]
命令,進行指定搜尋引擎的搜索並總結結果。 - 使用
/browse [網址]
命令,瀏覽特定網站並總結內容。
- 伺服器管理:
- 監控伺服器成員加入和離開,提供相關通知。
/pass
命令:審核通過新成員,賦予其特定角色,並移除未審核角色。- 點數系統:
/add
命令:增加使用者點數。/subtract
命令:減少使用者點數。/points
命令:查詢使用者點數。
- 分析數據:
/analytics
命令:顯示伺服器或特定成員的分析數據。
安裝
pip install nana-bot
設定
環境變數: 建立一個 .env 檔案於專案資料夾中,並設定以下環境變數(非必要):
NANA_API_KEY="Your Gemini API Key"
NANA_DISCORD_TOKEN="Your Discord Bot Token"
設定檔 (config.ini): 除了環境變數,你也可以使用 config.ini 檔案來自訂其他設定。預設設定檔的路徑為 default_config.ini,使用者可以創建 ~/.nana_config.ini 來覆蓋預設設定。
[Nana]
gemini_model = gemini-1.5-pro-002
servers = server_id1,server_id2 # 以逗號分隔多個伺服器 ID
send_daily_channel_id_list = channel_id1,channel_id2
# ...其他設定
使用方法
from nana_bot import Config, initialize_bot, run_bot
import os
# 從 .env 檔案載入環境變數
from dotenv import load_dotenv
load_dotenv()
user_config = Config(
api_key=os.environ.get("NANA_API_KEY"), # 從環境變數讀取
gemini_model="gemini-1.5-pro-002", # 或直接設定
bot_name = "奈奈" # 可直接設定
servers=[os.environ.get("NANA_SERVERS")], # 從環境變數讀取伺服器 ID 列表
send_daily_channel_id_list=[os.environ.get("NANA_SEND_DAILY_CHANNEL_ID_LIST")], #從環境變數讀取每日頻道ID
newcomer_channel_id = [os.environ.get("NANA_NEWCOMER_CHANNEL_ID")],#從環境變數讀取新人審核頻道ID
member_remove_channel_id = [os.environ.get("NANA_MEMBER_REMOVE_CHANNEL_ID")],#從環境變數讀取用戶離開頻道ID
not_reviewed_id = [os.environ.get("NANA_NOT_REVIEWED_ID")],#從環境變數讀取未審核身分組ID
welcome_channel_id = [os.environ.get("NANA_WELCOME_CHANNEL_ID")],#從環境變數讀取歡迎頻道ID
allowed_role_ids={int(os.environ.get("NANA_ALLOWED_ROLE_IDS"))},#從環境變數讀取允許的管理員身分組ID
whitelisted_servers={int(os.environ.get("NANA_WHITELISTED_SERVERS")): "Server 1"},#從環境變數讀取白名單ServerID
target_channel_id=[os.environ.get("NANA_TARGET_CHANNEL_ID")],#從環境變數讀取目標說話頻道ID
discord_bot_token=os.environ.get("NANA_DISCORD_BOT_TOKEN") #從環境變數讀取discord bot tokenID
)
initialize_bot(user_config)
run_bot()
注意事項
本機器人僅供研究和實驗使用,不應該用於任何醫療或專業諮詢。
機器人可能會產生錯誤或不準確的資訊,請勿將其視為專業意見。
機器人的功能和行為可能隨著時間推移而發生變化。
貢獻
歡迎您提交拉取請求和錯誤報告!
作者
Vito1317 - 柯瑋宸
授權
本專案使用 MIT 授權
安全政策
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
nana-bot-5.1.9.tar.gz
(21.8 kB
view details)
Built Distribution
nana_bot-5.1.9-py3-none-any.whl
(23.5 kB
view details)
File details
Details for the file nana-bot-5.1.9.tar.gz
.
File metadata
- Download URL: nana-bot-5.1.9.tar.gz
- Upload date:
- Size: 21.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.12.2
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 50fa3f31c880faff86b953e396f3f8731b495c4279b298405a33f768398eadfe |
|
MD5 | 2f20273941b2a363f898076205507084 |
|
BLAKE2b-256 | 7b0b0da71db556a034e9e08535ba55403fcc2fdc734222daedf7d719fed1b16f |
File details
Details for the file nana_bot-5.1.9-py3-none-any.whl
.
File metadata
- Download URL: nana_bot-5.1.9-py3-none-any.whl
- Upload date:
- Size: 23.5 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.12.2
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | ffe3813a7a1d753be353403c34e7ff3156dac4722e636b7b731192aad69a7cb2 |
|
MD5 | 983fb0ec302830e92c14384d2ed90cb5 |
|
BLAKE2b-256 | 113d218ad60e19d3af3094bd98ece73a89a263ea6730b03a37cfe1467df2c417 |