豆腐貓咪的發展史

bruh0422 Lv1
時間 事件
2021/12/26 創建機器人,命名為「新冠肺炎」。
MEE6 這個機器人可以在有人生日的時候標注他,並祝他生日快樂。而這天剛好是 COVID-19 被發現的第二年,於是就創了這個機器人讓 MEE6 可以標注他。
2022/01/08 成功啟動機器人並寫出第一個指令。
第一個指令是 =ping,可以查看機器人的延遲,確保機器人有在線上。
2022/01/09 新增 =say 指令。
這個指令可以讓機器人說出你想要讓他說的話,在製作這個指令的時候,我學到了如何在輸入指令的時候傳入參數,並讓後端的 Python 做處理。
2022/01/09 新增機器人自動回覆訊息。
當有人傳送訊息時,機器人會讀取該則訊息並使用 if 判斷式來判斷訊息內容是否有在回應列表中,如果有就會回覆指定訊息,這也是我第一次學習及使用到判斷式。
2022/01/21 學到 Unix 時間戳。
當時在別人的伺服器看到有人的訊息內嵌入了一個時間戳,深入了解後發現只要在訊息中插入類似於 <t:timestamp> 的格式,Discord 就會自動將它轉換成你所在地時區的時間。所以我就製作了一個 =time 指令,使用 time.time() 這個方法,取得目前的時間戳再將它傳送到 Discord。
2022/01/22 新增 =meme 指令。
這個指令可以隨機顯示一張圖片。
在這時候我學到了 list 這個資料型態,我先把所有的圖片連結放進一個 list 中,再用 random.choice() 隨機選擇一張來傳送到 Discord。
2022/02/26 新增 =stickers 指令。
Facebook 上有許多好看的貼圖,我想要在 Discord 中使用 (Discord 可以在伺服器中上傳自訂貼圖,但伺服器有最大上傳限制,且要在其他地方使用需要花錢解鎖),於是我就把其中一個貼圖下載下來,以棋盤的方式,給予每個貼圖一個編號,想要使用的時候直接輸入編號貼圖就會顯示。
我在這時候學到了 dict 這個資料型態,在不知道這個東西前我是使用一堆 if 判斷式來寫,資料一多就非常難維護。但 dict 是一個 key 配一個 value,維護起來就簡單許多。
2022/02/27 學會 embed 用法。
相較於一般的訊息,embed 能進行更進階的排版,讓訊息變得更好看,從這時候開始的指令大多都以 embed 顯示。
2022/03/02 將機器人更名為「肺炎醬」。
新冠肺炎好像有點太難聽了,所以取了一個好聽一點的名字。
2022/04/09 初代經濟系統出現。
突然覺得機器人只有一個空殼在那邊好像有點無聊,所以開始加入一些小功能,也是在這個時候學到關於 json 檔案的知識,並用這個格式儲存資料,一個 Discord 帳號會對應到一個遊戲帳號。
2022/04/14 第一位玩家出現。
他是我的貴人,沒有他,這個機器人就不會有現在的規模。
就我所知,他是第一個把我機器人加進去其他伺服器的使用者,這位玩家也在他的伺服器中使用了經濟系統,增加了曝光,其他伺服器成員看到也陸續加入遊玩。後來他給了我很多關於機器人的建議,於是我就把策劃的工作交給他,也是我們團隊除了我以外的第一位成員。
發現有玩家後,就開始認真開發,將經濟系統變為我的主打功能。
2022/04/16 發生資料回溯。
我第一個遇到的難題。
當時是使用 Replit 這個平台架設我的機器人,但是只要經過一段時間,資料都會回溯。上了 Google 搜尋後發現好像是 Replit 的機制所導致的,於是我只能找尋其他方法解決。
2022/04/17 機器人有頭貼了!
是在我管理的 Fackbook 社團裡面的其中一個管理員幫我畫的。
2022/04/19 嘗試做出音樂系統。
但因為這時候我的知識量還不夠,所以只做出加入及離開頻道的功能,還不能播放音樂。
2022/05/08 第一個爬蟲程式。
當初在使用 DevTools 的時候,發現疾管署的疫情資料是從一個 json 中而來,於是我就使用 requests 模組,將那個 json 擷取下來,再將資料彙整到 Discord 中,讓使用者可以方便在那邊查詢疫情資料。
2022/05/26 做出伺服器管理功能。
之前的功能都與 Discord 沒有什麼關聯,都是娛樂性質,從這時候開始機器人就有了管理伺服器功能,伺服器管理者可以下指令控制機器人,執行將使用者踢出或禁言等動作。對我來說,相比於點擊按鈕,以下指令的方法會比較方便且快速。
2022/05/27 將機器人更名為「豆腐貓咪」。
這個名字的由來是個祕密。
2022/05/27 新增 =rob 指令。
這個指令可以偷取別人的遊戲幣,從這時候開始,經濟系統可以與其他玩家互動,增加可玩性,而不是自己一個人無聊的遊玩。
2022/06/10 將代碼放置在 GitHub。
隨著機器人的規模越來越大,我也需要將代碼備份在其他地方,於是就在 GitHub 創了一個 Repository 並放在上面。
當時我還不會用 Git,所有檔案都是我一個一個手動上傳的。
2022/06/11 創建支援伺服器。
在經歷過 Replit 資料回溯的問題後,我找了其他間免費託管,但畢竟是免費的,品質也不會好到哪裡去,而就在這天,發生了所有資料都消失的狀況,而且比當初 Replit 平台上的規模更大,於是就創建了支援伺服器,幫助玩家解決問題,我也可以在這裡發布最新訊息。
2022/06/11 開啟防機器人驗證功能 (Captcha)。
當玩家一多,就會有我當初想不到的事情發生。有玩家寫了一個自動腳本,每隔一段時間會自己發送指令,自動獲得金錢。所以我在指令執行前加了三個按鈕,機器人會先要求你點擊其中一個,點擊錯誤就會跳出指令,否則就繼續執行,但這樣會有個弊端,腳本還是可以一直點選同一個按鈕,1/3 的機率會成功。
2022/06/15 做出音樂系統。
我使用 youtube_dl 這個模組從 YouTube 中搜尋指定的音樂,並抓取下來在 Discord 播放,完成了我一直想做的功能。
2022/06/16 做出音樂系統的按鈕介面。
不然原本只能靠打指令來操作,現在有了按鈕之後可以直接像播放器一樣點擊,較為快速。
2022/06/22 達到 100 個伺服器。
這也是一個對所有 Discord Bot 開發者的考驗,到了這個數目後,Discord 會要求你驗證機器人,要跟他們說明這個機器人的用途,且一些敏感功能 (接收成員狀態更新事件、接收 GUILD_MEMBERS 事件、接收訊息的內容) 還需要進一步闡述理由,在尚未通過驗證之前機器人都無法再被加到其他伺服器。
2022/06/28 新增 =spotify 指令。
因為驗證過程中,為了取得「接收 GUILD_MEMBERS 事件」的權限,需要做出一個讓 Discord 覺得創新的功能,於是我就串接了 Musixmatch 的 API,在 Discord 中顯示使用者目前正在聽的歌及歌詞,也成功拿到了權限。
2022/07/14 完成驗證程序。
前前後後跟官方溝通了 30 多次才終於驗證完成並拿到所有的權限,機器人旁邊也多了一個小勾勾寫著「認證機器人」。
2022/07/21 新增 =slot 指令。
這是第一個賭博類指令,模仿了拉霸機的模式,可以拿賺到的錢進去玩,後續也多了可以賺錢的遊戲指令。
想當然是使用遊戲幣了,我可不想因為非法賭博被關。
2022/07/30 加強防機器人驗證功能 (Captcha)。
加強最初防機器人驗證功能中的弊端,改為使用 captcha 模組生成一個寫著隨機數字的扭曲圖片,再讓使用者輸入。
2022/08/06 新增 =coupon 指令。
模仿了各大店家都會有的優惠卷系統,可以輸入得到的兌換馬來兌換遊戲幣。
2022/08/06 新增電子報系統。
我幫機器人創了一個電子郵件,使用者可以選擇訂閱電子報,機器人會在每月自動發送一個報告數據,裡面還夾帶著一個兌換碼。
2022/08/13 新增銀行系統。
每個人的銀行都有耐久度跟攻擊力等狀態,每項都可以花費遊戲幣升級。使用者可以攻擊其他玩家,被攻擊的玩家會損耗耐久度,耐久度變為 0 的時候會受到處罰,而攻擊者可以得到相對應的遊戲幣。從這時候開始,經濟系統就已經不再是單純的賺錢花錢遊戲,慢慢轉變為玩家之間的攻防戰爭。
2022/08/13 達到 200 個伺服器。
2022/09/11 變更機器人頭貼。
在我管理的其他社群中遇到了一位會畫畫的成員,就麻煩他幫我畫了一張豆腐貓咪的圖片,而那張圖片也成為了機器人的頭貼,他也進入了我團隊中的美術部門。
豆腐貓咪
豆腐貓咪
2022/09/24 付費購買託管伺服器。
使用者人數開始多起來,也開始受不了之前各間免費伺服器的品質,於是就在網路上找了一間評價不錯的託管公司,花錢買了一個託管伺服器。
2022/10/08 達到 300 個伺服器。
2022/10/10 資料結構大更改。
在這之前,所有使用者的資料都是存在一個 json 檔案裡面,而當有多個使用者要同時讀寫檔案的時候,就會出現 race condition 的問題,所以我把每個使用者的資料都分別獨立出來成一個 json,並存在一個資料夾裡面,大幅降低了 race condition 的情形。
2022/10/12 關閉音樂系統。
在這個日期之前,有一些大型音樂機器人被迫關閉 (例如 Groovy),原因是違反了 YouTube 的服務條款,我擔心我的機器人也被捲入這個風波,所以將音樂功能關起來。另一方面是因為音樂功能需要消耗的記憶體較多,而我購買的記憶體不太充足,無法承受。
2022/11/13 訂購豆腐貓咪悠遊卡。
為了感謝我的團隊,我購買了兩張悠遊卡,上面印著豆腐貓咪的圖案,寄過去送他們當謝禮。
2022/11/13 新增貓咪魔王。
經濟系統再升級,新增了一個魔王進來 (取名叫貓咪魔王),玩家們要合力攻擊並打敗他,攻擊的過程中還可以得到獎勵,但銀行可能也會被魔王的技能攻擊而損失耐久度。
2022/11/26 新增對斜線指令的支援。
斜線指令可以讓使用者更方便使用指令,可以不用將完整的指令用法背起來,只需輸入指令名稱,Discord 就會提示後面要傳入的參數有什麼。
2022/12/11 將使用說明移到外部網站。
原本的使用說明是寫在 Discord 中,缺點就是沒辦法將排版處理好,於是就將使用說明全部移到 GitBook,讓我可以更容易維護,使用者也可以更好查詢。
2023/01/26 達到 500 個伺服器。
2023/03/06 新增卡片系統。
以目前的系統來說,基本上就是誰的等級高,誰就佔上風,毫無遊戲性及變化可言,所以推出了卡片系統。玩家可以使用賺到的遊戲幣來抽卡,卡片分成了四個等級,每張卡片的等級、抽出機率皆不同,抽到之後可以裝備卡片,數量上限會隨著銀行等級上升而變多。每一張卡片都有自己不同的增益效果,例如銀行耐久度增加、攻擊力變高、使用特定指令時賺到的錢會變多等,而在這個版本中,我們首先推出了 24 張卡片。
2023/04/05 更新卡片系統。
先舉個例子,兩張卡片的效果分別是「攻擊力 ×10」及「攻擊力 +5」,最佳的排序方法應該是先 +5 再 ×10,但因為舊版本程式的運作邏輯是「卡片按照我當時寫入的順序觸發」,假設我先寫入了第一張卡片,這樣一來它會比第二張卡片先觸發,而導致效益變差。更新之後機器人則會判斷玩家裝備卡片的順序來觸發,這樣玩家在裝備之前就需要再思考一下,怎麼讓效益最大化。
這時候也出現了各種玩法,有「攻擊派」(靠著一直攻擊其他玩家或貓咪魔王來賺錢,高風險高報酬)、「防守派」(防守「攻擊派」)、「農夫」(與世無爭,過著自己的生活,使用基本的賺錢指令來慢慢累積金錢)。
2023/04/08 新增網頁查詢系統。
我使用了 Flask (後來轉換到 Quart) 當作框架,使用了基本的 HTML 語法編寫了一個小小的查詢系統,使用者可以在上面輸入 Discord ID,網頁會顯示查詢出來的資料 (有遊戲幣數量、銀行等級等資訊)。
2023/04/09 更新網頁查詢系統。
現在也可以輸入伺服器 ID,網頁一樣會回傳相關的資料。
2023/04/14 更新網頁查詢系統。
新增了一點 CSS 進去,也變更了 404 Not Found 的顯示畫面,變成貓咪魔王的背景。
2023/04/27 新增隱私權條款及服務條款。
為了避免不必要的紛爭,於是寫出了這兩篇條款。
2023/04/30 新增 =account 指令。
應該是第一個 Discord Bot 擁有這個功能,我們發現有一些玩家會使用多個帳號遊玩經濟系統,可能每個帳號都有不同的用途,而要在各個帳號之間切換是一件很麻煩的事,於是就誕生了這個功能。玩家可以先將他的其他 Discord 帳號綁定到機器人上,綁定成功後就可以直接在機器人上使用這個指令切換,機器人會將你往後的操作當作是該帳號呼叫的,不用再進行繁瑣的登出登入動作。
2023/05/07 更新卡片系統。
將卡片增加到了 48 張。
2023/05/20 變更使用者建議的顯示方法。
在這之前,使用者提供的建議都只有我能看到,這樣就沒辦法收集社群的意見,變成只有我跟我的團隊在做決策。更改之後,每個使用者的建議都會公開顯示在一個頻道,並且下面會有「👍」、「👎」按鈕及一個討論串,社群可以一起參與討論,讓我們做出對大家最有利的決策。
2023/05/24 移除電子報系統。
因為使用者人數太少,加上發送的內容沒有新意,於是決定關閉。
2023/06/11 新增紀錄系統。
類似現實世界的銀行存摺,現在每一筆經濟系統的交易紀錄都會被紀錄起來 (最多 500 筆),方便大家查詢。
2023/07/02 新增銀行防護模式。
類似一個保護新手的銀行防護罩,避免在他們手無寸鐵的時候被老玩家欺負,玩家可以在銀行等級低於指定值的時候開啟,期間會拿到一些優待,但無法跟其他玩家做交互。
2023/07/04 新增 Premium 系統。
開始自己賺錢了!如果玩家想要解鎖一些增強功能,可以花費新台幣進行儲值,解鎖的功能會依儲值的金額而定。
2023/07/15 更新卡片系統。
將卡片增加到了 72 張。
2023/07/31 達到 1000 個伺服器。
2023/08/22 新增購買協議。
為了避免使用者購買 Premium 後產生的紛爭。
2023/09/17 第一篇社群教學出現。
有熱心玩家為了新手寫了一篇 3000 多字的長文新手教學,能讓新手更快適應這個圈子,他也加入了我的團隊,成為了策劃組的其中一員。
2023/10/11 新增開發銀行功能。
基本上就是銀行的加強版,裡面可以升級爆擊倍率、增加卡片裝備數量、減少指令冷卻時間等。
2023/12/26 新增銀行位階。
一樣是為了新手而做的保護機制,位階高的不能攻擊位階低的玩家,避免剛加入就被打成蜂窩。
2024/01/31 新增最高紀錄系統。
機器人現在開始會紀錄使用者的最高紀錄,例如最高單次獲得金額、最高傷害等紀錄。推出了一段時間後發現,有玩家為了這個紀錄開始積極遊玩,想要站上世界第一。
2024/02/18 新增荒野亂鬥玩家資料查詢功能。
又串接了一個 API,因為發現社群中蠻多人在玩這個遊戲,所以乾脆就做了這個功能,可以直接在 Discord 中顯示你的遊戲資料,不用再打開遊戲截圖。
2024/03/09 新增數數字功能。
算是一個團隊合作遊戲,伺服器裡面的人要一起數數字,從 1 開始一直往上數,如果數錯 (數字錯誤或重複數數) 就會從頭開始,每天半夜會給予數字排名前 10 的伺服器獎勵。
2024/03/23 更新卡片系統。
將卡片增加到了 100 張。
這應該也是最後一次的卡片更新,因為幾乎能想到跟能做出來的增益都做了。
2024/05/27 訂購豆腐貓咪吊飾。
豆腐貓咪實在是太可愛了,所以就把它做成吊飾,我也可以把這些吊飾送給我朋友。
2024/07/05 增強貓咪魔王。
新增了劇毒值及一些技能。劇毒值就是每次受到貓咪魔王攻擊時會額外受到的傷害倍率,簡單來說就是增強貓咪魔王的攻擊傷害,不然他都沒有什麼威脅性。
2024/07/11 購買網域。
之前的網域是託管商提供的 subdomain,結果某天這個網域 Discord 說不安全,我就乾脆自己買一個網域,直接從根本解決問題。
我還創了兩個電子郵件地址,一個我自己使用 (me@bruh0422.xyz),另外一個當作機器人的支援郵件 (support@totucat.bruh0422.xyz)。
2024/07/24 新增天然災害停止上班及上課情形查詢功能。
這時候是凱米颱風侵襲的時候,因為大部分時間我都在使用 Discord,如果要查詢停班停課資訊,還要打開瀏覽器去搜尋,太麻煩了,所以我就寫了一個爬蟲程式,將停班停課網頁的資訊下載下來,再用 beautifulsoup4 這個模組擷取資訊,並顯示在 Discord 中。
2024/08/18 新增音樂功能。
  • Title: 豆腐貓咪的發展史
  • Author: bruh0422
  • Created at : 2025-01-27 13:47:49
  • Updated at : 2025-01-31 09:42:50
  • Link: https://bruh0422.xyz/tofucat-history/
  • License: All Rights Reserved © bruh0422
Comments
On this page
豆腐貓咪的發展史