Guest User

Untitled

a guest
Mar 12th, 2018
112
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.13 KB | None | 0 0
  1. # -*- coding: utf-8 -*-
  2. import discord
  3. import asyncio
  4. import re,random
  5. import mysql.connector
  6.  
  7. #Mysql接続とディスコのAPI取得
  8. conn = mysql.connector.connect(user='root', password='', host='localhost', database='cochar')
  9. cur = conn.cursor()
  10. client = discord.Client()
  11.  
  12. @client.event
  13. @asyncio.coroutine
  14. async def on_ready():
  15. pass
  16. print('Logged in as')
  17. print(client.user.name)
  18. print(client.user.id)
  19. print('------')
  20. #メッセが入力されたら
  21. @client.event
  22. async def on_message(message):
  23. #メッセを格納
  24. strg = message.content
  25. #メッセを判定
  26. matchDice = re.search('1d100 <= (\d+)', message.content)
  27. Mchar = re.search("makeChar", strg)
  28.  
  29. #以下各処理
  30.  
  31. if Mchar:
  32. #名前の抽出
  33. slice = strg[Mchar.end():]
  34. #各ステータスの制作
  35. sql = 'insert into mchar values (0, %s, %s, %s, %s, %s, %s, %s, %s, %s)'
  36. str1 = randNum2(3,6,0)
  37. con1 = randNum2(3,6,0)
  38. pow1 = randNum2(3,6,0)
  39. dex1 = randNum2(3,6,0)
  40. app1 = randNum2(3,6,0)
  41. siz1 = randNum2(2,6,6)
  42. int1 = randNum2(2,6,6)
  43. edu1 = randNum2(3,6,3)
  44. #mysqlに挿入
  45. cur.execute(sql, (slice,str1,con1,pow1,dex1,app1,siz1,int1,edu1))
  46.  
  47. #挿入したものの表示
  48. cur.execute("select * from mchar order by id desc limit 1;")
  49. for row in cur.fetchall():
  50. await client.send_message(message.channel,row[1:10])
  51.  
  52. conn.commit()
  53. cur.close
  54. conn.close
  55.  
  56.  
  57. dice100 = re.search(r"([0-9]+)d([0-9]+)", strg)
  58. if dice100:
  59. await client.send_message(message.channel,'結果表示します!!')
  60. it1=int(dice100.group(1))
  61. it2=int(dice100.group(2))
  62. num2 = randNum2(it1,it2,0)
  63. await client.send_message(message.channel,num2)
  64. #1d100のダイス作成
  65. #1d100のダイス作成
  66. def randNum1():
  67. randomNum = random.randint(1,100)
  68. return randomNum
  69. #nDn+Dのダイス作成
  70. def randNum2(it1,it2,it3):
  71. randomNum2=0
  72. for i in range(it1):
  73. diceNum = random.randint(1,it2)
  74. randomNum2 = randomNum2 + diceNum
  75. return randomNum2+it3
  76.  
  77. client.run("token")
Add Comment
Please, Sign In to add comment