上個周末給個妹子發(fā)了信息說算了吧肾胯,然后不知道是不是被鬼上身了整個禮拜都渾渾噩噩,魂不守舍什么都不想干旬蟋,游戲機都不想玩了油昂。我琢磨著這樣下去不就廢了,得找點能夠吸引自己的事情做倾贰。閑得無聊突然想起之前在知乎上看到一篇回答說有一個Q群寫了個R點機器人冕碟。巧了,之前找不到那個機器人的包現(xiàn)在一搜就搜到了匆浙。
pip install qqbot
我們開始吧
jianghu.jpg
首先我新建了個sample.py 然后只是簡單的寫了個邏輯安寺,R點!當點數(shù)大于6的時候可以禁言一分鐘你指名的那個人首尼,否則反噬挑庶,自己被禁言五分鐘。
微信圖片_20170913195902.png
微信圖片_20170913195945.png
然后覺得太簡單不夠好玩软能,然后我琢磨著加點功能迎捺。
1.1版本應(yīng)運而生!查排!
新增加了隨機指名凳枝,以命為賭本的功能,并細化了R點功能跋核。當賭注大于5分鐘時岖瑰,R點要大于等于8點才能禁對方叛买,否則反噬。賭注小于5分鐘時蹋订,R點要大于等于6點才能禁對方聪全,否則反噬。
微信圖片_20170913200739.png
玩了一上午辅辩,群里開始有意見了难礼,說要屏蔽群了。我想了想不能影響大家學(xué)習(xí)呢玫锋,就把機器人關(guān)了蛾茉。然后繼續(xù)閉關(guān)!撩鹿!
這次我要建立個人角色系統(tǒng)谦炬,有生命值,有擊殺數(shù)节沦,還有排行榜键思!
然后寫到下班,終于寫完了甫贯!
微信截圖_20170913201241.png
正式上線:鹆邸!
微信截圖_20170913201414.png
微信截圖_20170913201521.png
到現(xiàn)在為止叫搁,不想再更新了赔桌。。渴逻。疾党。萬一再更下去。惨奕。雪位。可能要寫一個狼人殺或者三國殺了梨撞。雹洗。。聋袋。代碼分享出來給大家队伟,需搭配qqbot使用,代碼無法直接運行S睦铡嗜侮!
# -*- coding: utf-8 -*-
import random
import re
from MCG import MGClient#這是我寫一個模塊,用來連接mongodb的
def onQQMessage(bot, contact, member, content):
if content == '-hello':
bot.SendTo(contact, '你好,我是QQ機器人')
elif content == '-stop':
bot.SendTo(contact, 'QQ機器人已關(guān)閉')
bot.Stop()
if '@ME' in content:
db = MGClient().get_mongo_client()
if not db.qqfight.find_one({'name':member.name}):
db.qqfight.insert({'name':member.name,'life':0,'kill':0})
player1 = db.qqfight.find_one({'name': member.name})
player2 = db.qqfight.find_one({'name': content.split(' ')[-2]})
bot.SendTo(contact, member.name + '锈颗,讓我們來開始續(xù)命游戲吧顷霹,輸入命令 -h 進入幫助菜單,新增續(xù)命,排行榜功能')
gl = bot.List('group', 'Python自學(xué)技術(shù)交流')
if '-續(xù)命' in content:
if not db.qqfight.find_one({'name': content.split(' ')[-2]}):
db.qqfight.insert({'name': content.split(' ')[-2], 'life': 0, 'kill': 0})
num=random.randint(0, 9)
time = int(content.split(' ')[-1])
if time*60>10*60:
bot.SendTo(contact, member.name + '玩這么大击吱,想被踢出群淋淀?')
elif time*60 >= 5*60:
if num >=8:
db.qqfight.update({'name': member.name},{'$set':{'life':player1['life']+time}})
db.qqfight.update({'name': member.name}, {'$set': {'kill': player1['kill'] + 1}})
name = content.split(' ')[-2]
if name =='random':
name=re.findall(r'“(.*?)”',str(random.choice(bot.List(gl[0]))))[0]
if not db.qqfight.find_one({'name': name}):
db.qqfight.insert({'name': name, 'life': 0, 'kill': 0})
bot.SendTo(contact,member.name + ' 當前生命為{life},你R了個{num},大于等于8,將從{name}(生命為{life2}),吸收{(diào)time}分鐘生命'.format(life=player1['life'], num=num, name=name, time=time, life2=player2['life']))
group = gl[0]
membs=bot.List(group, name)
if player2['life'] - time<0:
db.qqfight.update({'name': name}, {'$set': {'life': 0}})
bot.GroupShut(group, membs, time*60)
#bot.SendTo(contact,'已禁言{m}'.format(m=membs))
else:
db.qqfight.update({'name': name}, {'$set': {'life': player2['life'] -time}})
if num <8:
name = content.split(' ')[-2]
group = gl[0]
if name == 'random':
name = re.findall(r'“(.*?)”', str(random.choice(bot.List(gl[0]))))[0]
if not db.qqfight.find_one({'name': name}):
db.qqfight.insert({'name': name, 'life': 0, 'kill': 0})
bot.SendTo(contact,member.name+ ' 當前生命為{life},你R了個{num},小于8,反噬!被{name}(生命為{life2})吸收了{time}分鐘生命'.format(life=player1['life'],num=num,name=name,time=time,life2=player2['life']))
db.qqfight.update({'name': name}, {'$set': {'life': player2['life'] + time}})
if player1['life'] - time<0:
name = member.name
membs = bot.List(group, name)
bot.GroupShut(group, membs, time*60)
#bot.SendTo(contact, '已禁言{m}'.format(m=membs))
db.qqfight.update({'name': member.name}, {'$set': {'life': 0}})
elif player1['life'] - time>=0:
db.qqfight.update({'name': member.name}, {'$set': {'life': player1['life'] -time}})
elif time*60 <5*60:
if num >=6:
db.qqfight.update({'name': member.name}, {'$set': {'life': player1['life'] + time}})
db.qqfight.update({'name': member.name}, {'$set': {'kill': player1['kill'] + 1}})
name = content.split(' ')[-2]
group = gl[0]
if name =='random':
name=re.findall(r'“(.*?)”',str(random.choice(bot.List(gl[0]))))[0]
if not db.qqfight.find_one({'name': name}):
db.qqfight.insert({'name': name, 'life': 0, 'kill': 0})
bot.SendTo(contact, member.name + ' 當前生命為{life},你R了個{num},大于等于6,將從{name}(生命為{life2}),吸收{(diào)time}分鐘生命'.format(life=player1['life'], num=num, name=name, time=time, life2=player2['life']))
if player2['life'] - time<0:
db.qqfight.update({'name': name}, {'$set': {'life': 0}})
membs=bot.List(group, name)
bot.GroupShut(group, membs, time*60)
#bot.SendTo(contact,'已禁言{m}'.format(m=membs))
else:
db.qqfight.update({'name': name}, {'$set': {'life': player2['life'] -time}})
if num <6:
group = gl[0]
name = content.split(' ')[-2]
if name == 'random':
name = re.findall(r'“(.*?)”', str(random.choice(bot.List(gl[0]))))[0]
if not db.qqfight.find_one({'name': name}):
db.qqfight.insert({'name': name, 'life': 0, 'kill': 0})
bot.SendTo(contact,member.name+ ' 當前生命為{life},你R了個{num},小于6,反噬!被{name}(生命為{life2})吸收了{time}分鐘生命'.format(life=player1['life'],num=num,name=name,time=time,life2=player2['life']))
db.qqfight.update({'name': name}, {'$set': {'life': player2['life'] + time}})
if player1['life'] - time<0:
name = member.name
membs = bot.List(group, name)
bot.GroupShut(group, membs, time*60)
#bot.SendTo(contact, '已禁言{m}'.format(m=membs))
db.qqfight.update({'name': member.name}, {'$set': {'life': 0}})
else:
db.qqfight.update({'name': member.name}, {'$set': {'life': player1['life'] -time}})
elif '-h' in content:
string=""" -續(xù)命 name minutes 偷取對方的生命值,生命值為負時禁言覆醇,若選擇隨機對象朵纷,用random代替名字
-排行榜 查看誰是真正的長者!永脓!
"""
bot.SendTo(contact, member.name + string)
elif '-排行榜' in content:
bot.SendTo(contact, member.name +'少年袍辞,你聽說過長者的故事么')
data= db.qqfight.find({})
item1=[]
item2=[]
for i in data:
item1.append(i)
item2.append(i['life'])
item3=sorted(item2)
for i in range(1,4):
bot.SendTo(contact,'%s 此人壽命%d分鐘,是最第%d長壽的長者'%(item1[item2.index(item3[-i])]['name'].encode('utf-8'),item1[item2.index(item3[-i])]['life'],i))