乞討功能
寫個乞討的功能……
| 12
 3
 4
 
 | @commands.command()
 async def beg(self, ctx):
 pass
 
 | 
一樣,老步驟,不過最後要微改
| 12
 3
 4
 
 | await open_account(ctx.author)
 users = await get_bank_data()
 user = ctx.author
 
 | 
乞討來的錢一律隨機
| 1
 | earnings = random.randrange(101)
 | 
加上
| 1
 | await ctx.send(f"某人給了你 {earnings} 塊錢!!")
 | 
之後在json檔裡動手腳
| 1
 | users[str(user.id)]["wallet"] += earnings
 | 
這樣就可以寫入json檔裡了
| 12
 
 | with open("bank.json", "w") as f:json.dump(users, f)
 
 | 
在進入下個部分前……
我們需要先撰寫將data複寫過的函式
| 12
 
 | async def update_bank(user, change = 0, mode = "wallet"):pass
 
 | 
查看錢包
| 12
 3
 4
 5
 
 | users = await get_bank_data()users[str(user.id)][mode] += change
 
 with open("bank.json", "w") as f:
 json.dump(users, f)
 
 | 
將money的值還回去(錢包裡的錢)
| 12
 
 | money = [users[str(user.id)]["wallet"], users[str(user.id)]["bank"]]    return money
 
 | 
大賭怡情,小賭傷身,強賭……
引用asyncio
| 12
 3
 4
 5
 
 | import asyncio
 @commands.command()
 async def slots(self, ctx, amount = None, mang = None):
 pass
 
 | 
一樣,先處理好倍率跟賭注
| 12
 3
 4
 5
 6
 7
 8
 9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 
 | await open_account(ctx.author)if mang == None:
 await ctx.send("請輸入倍率")
 return
 bal = await update_bank(ctx.author)
 amount = int(amount)
 mang = int(mang)
 if bal[0] <= 0:
 await ctx.send("沒錢的,滾拉")
 return
 if amount > bal[0]:
 await ctx.send("你沒這麼多錢拉幹")
 return
 if amount < 0:
 await ctx.send("正整數...")
 return
 
 if amount > 200 or mang > 10 :
 await ctx.send("不接受太高金額及倍率,最高為199$$")
 return
 
 | 
最後,錢進到皮包裡
| 12
 3
 4
 5
 6
 7
 8
 9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 
 | final = []for i in range(3):
 a = random.choice(["X", "O", "Q"])
 final.append(a)
 ans = mang * amount
 pos = mang * amount * -1
 
 if final[0] == final[1] == final[2]:
 await update_bank(ctx.author, ans)
 await ctx.send("想贏嗎??")
 asyncio.sleep(3)
 await ctx.send(str(final))
 await ctx.send(f"你贏了 {ans} 塊錢")
 
 else:
 await update_bank(ctx.author, pos)
 await ctx.send("想贏嗎??")
 asyncio.sleep(3)
 await ctx.send(str(final))
 await ctx.send(f"你輸了 {pos} 塊錢")
 
 | 
小問題
第一,關於次數,其實當初是有想過限制次數的,但後來想想好像沒必要
第二,關於倍率,這部分可以自己做更改,畢竟是random
第三,搶銀行…….好像挺不道德的
畢竟所謂的亂數並不是真的隨機,有興趣的話可以點這裡看看別人的說法
2.0部分更改
這篇問題不大,就是看了眼花,程式碼是對的,其他小部分就自己修吧,我手裡也沒程式碼了…github上的也沒了,至於怎麼沒了我也忘了,肯定是我刪了github帳號。