Spaces:
Paused
Paused
Update bot_main.py
Browse files- bot_main.py +194 -0
bot_main.py
CHANGED
|
@@ -277,7 +277,201 @@ async def check_updates():
|
|
| 277 |
|
| 278 |
|
| 279 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 280 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 281 |
|
| 282 |
|
| 283 |
|
|
|
|
| 277 |
|
| 278 |
|
| 279 |
|
| 280 |
+
import random
|
| 281 |
+
import asyncio
|
| 282 |
+
|
| 283 |
+
def generate_gay_content(topic):
|
| 284 |
+
base = """\
|
| 285 |
+
『辛苦了,宵夜要吃點甚麼嗎?』加賽後,部份輕撫ZOD棕色的俐落短髮,半開玩笑地問著。『討厭...我已經吃飽了啦...』ZOD一邊說著,一邊將部份的時光之杖含入嘴裡..
|
| 286 |
+
|
| 287 |
+
|
| 288 |
+
|
| 289 |
+
「阿1,阿2,阿3,阿4,今天已經第5次了,大楷」「趴下!我還覺得遠遠不夠」,語畢,大楷又對zod放出了死亡蓮花,將自己的一切都輸出在zod身上。
|
| 290 |
+
|
| 291 |
+
|
| 292 |
+
|
| 293 |
+
「縮頭烏龜被抓走了,...」大凱持續的播報,『你說什麼啦,才不是縮頭烏龜,你看你烏龜的頭,是多麼堅挺』ZOD語畢,繼續享受著烏迪爾開了煉金罐後的衝刺。
|
| 294 |
+
|
| 295 |
+
|
| 296 |
+
|
| 297 |
+
『哇操咧,今天該不會加賽吧?』ZOD抱怨,大楷露出神祕笑容說:『這樣你才能多陪我一場呀,親愛的肉的老師。』ZOD臉色潮紅,分不出究竟是不滿或是害羞...
|
| 298 |
+
|
| 299 |
+
|
| 300 |
+
|
| 301 |
+
「我的痛苦在你之上阿」知道要加賽的ZOD悲鳴了一聲,只見大楷解開上衣「但我想在你之上..」「討厭啦烏龍在看..」確認彼此心意的兩人度過了一個情意綿綿的一晚
|
| 302 |
+
|
| 303 |
+
|
| 304 |
+
|
| 305 |
+
大楷已經被ZOD挑逗得完全興奮起來了,雙手不由自主地摟住了ZOD的腰,身子不停地扭動著,配合著ZOD的動作,ZOD誘人的小嘴與大楷野性的雙唇緊緊地黏在了一起..
|
| 306 |
+
|
| 307 |
+
|
| 308 |
+
|
| 309 |
+
「我記得職業選手都會吃香蕉來補充體力」ZOD脫口了一句,『那你,等等休息的時候,想要來根大香蕉嗎』大楷挑逗的說,ZOD傲嬌地搖了搖頭,嘴角已經留下了口水。
|
| 310 |
+
|
| 311 |
+
|
| 312 |
+
|
| 313 |
+
「又是預示者!」zod害怕的說著,畢竟昨晚大楷的縮頭烏龜像浴室者一樣衝進了zod 的心
|
| 314 |
+
|
| 315 |
+
|
| 316 |
+
|
| 317 |
+
「香蕉是最好的補充體力食物」大楷此話一出,ZOD便貼心的將香甜的香蕉塞進了大楷的口中,大楷瞬間感受到滿滿的香甜。. .
|
| 318 |
+
|
| 319 |
+
|
| 320 |
+
|
| 321 |
+
「哇!ZOD,你連深處也在顫動了。」大楷下賤的話語,不斷從背後傳到ZOD的耳朵裡。同時大楷把他的巨型魔棒,向ZOD那柔軟的深處強力地刺進去.....
|
| 322 |
+
|
| 323 |
+
|
| 324 |
+
|
| 325 |
+
『敢不敢不要靈氣發動!』ZOD手持愛的小鞭鞭打大楷的手,嚴厲的口吻讓大楷興奮起來,『今天要是加賽回家就讓你吃不完兜著走!』大楷微微顫抖,默默的把零氣填滿整個主播檯...
|
| 326 |
+
|
| 327 |
+
|
| 328 |
+
|
| 329 |
+
『一日一蘋果,疾病遠離我』ZOD如此說道。殊不知在一旁的部分撩起了他的短髮,『但我聽說,職業選手吃香蕉比較好吸收喔』,語畢,只見ZOD滿嘴精華,神氣滿滿。
|
| 330 |
+
|
| 331 |
+
|
| 332 |
+
|
| 333 |
+
中場休息,Section拿走ZOD手中的手機說:『不要看手機,看我』。ZOD露出傲嬌的笑容:『操,現在是要復盤我們昨晚在你床上的那波巴龍團戰?』
|
| 334 |
+
|
| 335 |
+
|
| 336 |
+
|
| 337 |
+
「現在幾點了?」『兩點鐘』「兩點才開始阿?」ZOD還沒說完,大凱已經迫不及待的開始克黎思妲。
|
| 338 |
+
|
| 339 |
+
|
| 340 |
+
|
| 341 |
+
隨著加賽的緩緩推進,ZOD的小彎腰也隨着大楷猛烈的抖動也變得疲憊不堪。「不要,那個虛空法杖太大了。」ZOD求饒道。「還有更大的呢」語畢大楷把他的無用大棒猛然插進了ZOD裏面。
|
| 342 |
+
|
| 343 |
+
|
| 344 |
+
|
| 345 |
+
『比賽兩點鐘才開始啊!』語畢ZOD手握巨蛇蜂牙發起一輪猛烈的進攻,為今晚與大楷第八輪的鬥劍拉開了序幕
|
| 346 |
+
|
| 347 |
+
|
| 348 |
+
|
| 349 |
+
看著大楷與ZOD在主播台的親密互動,電腦螢幕前的NASH回想起自己過去與大楷的點點滴滴「ZOD,你怎麼可以搶走我的大楷…」此時的NASH眼神竟不自覺地往HANA的方向望去…
|
| 350 |
+
|
| 351 |
+
|
| 352 |
+
|
| 353 |
+
「zod哪裡跑」大楷用著鎖鏈將zod拉回了身邊,曾經深愛著hana的zod滴下了淚水,因為他再也無法逃離大楷的鎖鏈控制。
|
| 354 |
+
|
| 355 |
+
|
| 356 |
+
|
| 357 |
+
「這個死哥厲害的是,他偷吸傑西的線,吸到4等了」大凱說道,『那我呢,我的吸厲害嗎?』ZOD嬌羞的給予回應。
|
| 358 |
+
|
| 359 |
+
|
| 360 |
+
|
| 361 |
+
『還敢刷鳥人圖啊!』湯米的堅挺巨柱捅進了烏龍的亂源之穴,「可以嗎!還能起舞嗎!」JR激昂地播報,無法亂舞的鳥人只能發出破音的2ㄏ2ㄏ......
|
| 362 |
+
|
| 363 |
+
|
| 364 |
+
|
| 365 |
+
「乖!不要怕,一次而已,我會弄得你很舒服的。」大楷在ZOD的耳邊輕聲說︰「不過你要是不乖,別怪我不疼你。」他半威脅半挑逗的語氣,讓ZOD的態度更加軟化..
|
| 366 |
+
|
| 367 |
+
|
| 368 |
+
|
| 369 |
+
ZOD嬌喘一聲,激烈的會戰讓他已經無暇播繼續報,只能任由大楷的巨型魔棒在他體內相位衝擊。導播趕緊擺出交通錐,使出華麗謝幕阻擋聊天室鳥人的視線。
|
| 370 |
+
|
| 371 |
+
|
| 372 |
+
|
| 373 |
+
大楷語帶戲謔的問「兄弟,你要頂嗎」,『欸我頂了,你怎麼沒有動作』ZOD兇猛的邊頂邊回應,「我只是問問阿,沒有要你頂啊」大楷面帶難色的說出最後一句後便開始轉為享受。
|
| 374 |
+
|
| 375 |
+
|
| 376 |
+
|
| 377 |
+
ZOD曾經試著去抵抗大楷,但是毫無用處,經過一連串的洗腦後,ZOD被大楷調教成一個沒有意識、只能服從的奴隸,一個可以讓主人滿足邪惡慾望的肉奴..
|
| 378 |
+
|
| 379 |
+
|
| 380 |
|
| 381 |
+
『幹你娘是會不會按重擊!』ZOD手持愛的小鞭鞭打Hana的手,嚴厲的口吻讓Hana興奮起來,『再不好好重我就要打屁股了!』Hana嬌喘一聲,手一滑又掉了巴龍。
|
| 382 |
+
|
| 383 |
+
|
| 384 |
+
|
| 385 |
+
「無禮後輩!往哪兒逃!」說時遲那時快,湯米大喝一聲,將肥碩的巨物一棒送入nash充滿建設性的最深處,一代雞捨當紅賽評,就此殞落。
|
| 386 |
+
|
| 387 |
+
|
| 388 |
+
|
| 389 |
+
「ZOD...好了吧,就算加賽也不用這麼拼啊...」大楷喘著氣的嬌說著,只見ZOD毫不理會的給予大楷一陣克黎思妲,大楷被輸出的體無完膚,忍不住把彈夾打光了...
|
| 390 |
+
|
| 391 |
+
|
| 392 |
+
|
| 393 |
+
湯米靠在衣衫不整的ZOD耳邊說『如果你不同意,那我可不能保證Hana的安全』ZOD咬了咬牙,為了保全Hana的性命,只能認由湯米擺佈...
|
| 394 |
+
|
| 395 |
+
|
| 396 |
+
|
| 397 |
+
大楷一邊撫摸著Zod的爆裂魔杖一邊在他耳朵旁吹氣,Zod忍不住嬌喘,最後爆裂在大楷的手中
|
| 398 |
+
|
| 399 |
+
|
| 400 |
+
|
| 401 |
+
大楷每場轉播都期待這個時刻,在中場休息被他的賽評狠狠D壓住,他全身貼緊牆面衣衫不整,發出NNRRBB的呻吟...
|
| 402 |
+
|
| 403 |
+
|
| 404 |
+
|
| 405 |
+
「不能打了吧,還要打嗎?」ZOD臉上不禁露出擔心的神情,早已渾身是汗的大楷硬擠出了微笑「安心,不累的。」兩人相識而笑似乎準備好迎接下一場激戰…
|
| 406 |
+
|
| 407 |
+
|
| 408 |
+
|
| 409 |
+
『啊、主播不要♥這還在轉播中呢』老山面色潮紅,伸手遮住了嘴,忸怩的像個少女,湯米露出貪婪的笑容邊搓揉邊說:『你是石像的驕傲,不要害羞,讓我看看!』
|
| 410 |
+
|
| 411 |
+
|
| 412 |
+
|
| 413 |
+
萬能雄獅隊員每個瑟瑟發抖,沒有人想面對教練憤怒的狂嘯猛擊。只有AD興奮的臉色潮紅,他好想要ZOD這樣粗暴對他......
|
| 414 |
+
|
| 415 |
+
|
| 416 |
+
|
| 417 |
+
『學長不要...烏龍在看...』NASH紅著臉嬌羞喊道。『要看就給他看吧,今天我的小湯米一定會給你好看的!』湯米拉開褲頭的拉鍊露出火熱的分身,準備進去NASH溼潤的女妖面紗裡。
|
| 418 |
+
|
| 419 |
+
|
| 420 |
+
|
| 421 |
+
「湯米!」烏龍在辦公室內驚醒,看了看熟睡的大楷,注意到電腦中湯米的訪問聲「還能和你一起播比賽嗎..」烏龍不禁想著,然而他早已成為大楷的肉奴..
|
| 422 |
+
|
| 423 |
+
"""
|
| 424 |
+
|
| 425 |
+
|
| 426 |
+
prompt = f"""
|
| 427 |
+
{topic}
|
| 428 |
+
幫我把以上的故事改成超級惡臭甲文,內容跟下面的範例一樣就好 就一段
|
| 429 |
+
{base}
|
| 430 |
+
|
| 431 |
+
"""
|
| 432 |
+
try:
|
| 433 |
+
model = genai.GenerativeModel("gemini-2.0-flash")
|
| 434 |
+
response = model.generate_content(prompt)
|
| 435 |
+
|
| 436 |
+
# Assuming response.candidates is iterable and contains a 'content' attribute
|
| 437 |
+
for candidate in response.candidates:
|
| 438 |
+
ans = [part.text for part in candidate.content.parts]
|
| 439 |
+
except:
|
| 440 |
+
ans=[]
|
| 441 |
+
|
| 442 |
+
|
| 443 |
+
|
| 444 |
+
return ans[0] if len(ans) > 0 else None
|
| 445 |
+
|
| 446 |
+
|
| 447 |
+
import asyncio
|
| 448 |
+
|
| 449 |
+
# 將函數轉為異步版本
|
| 450 |
+
async def create_gay_message(topic, n=10):
|
| 451 |
+
result = []
|
| 452 |
+
for i in range(n):
|
| 453 |
+
result = await asyncio.to_thread(generate_gay_content, topic)
|
| 454 |
+
if result is not None:
|
| 455 |
+
return result
|
| 456 |
+
return "I am gay"
|
| 457 |
+
|
| 458 |
+
|
| 459 |
+
|
| 460 |
+
@bot.hybrid_command(name="甲文", description="甲文爽")
|
| 461 |
+
@app_commands.describe(topic="主題")
|
| 462 |
+
async def join1(ctx, topic="自由發揮"):
|
| 463 |
+
# 延遲回應,防止互動過期
|
| 464 |
+
await ctx.defer()
|
| 465 |
+
|
| 466 |
+
# 生成訊息
|
| 467 |
+
messege = await create_gay_message(topic)
|
| 468 |
+
|
| 469 |
+
# 檢查頻道名稱是否是 "一般" 或 "general"
|
| 470 |
+
if ctx.channel.name in ["一般", "general"]:
|
| 471 |
+
# 如果頻道是 "一般" 或 "general",延遲 1000 秒刪除訊息
|
| 472 |
+
await ctx.send(f'- 主題:||{topic}||\n## {messege}', delete_after=100)
|
| 473 |
+
else:
|
| 474 |
+
await ctx.send(f'- 主題:||{topic}||\n## {messege}')
|
| 475 |
|
| 476 |
|
| 477 |
|