[IRCLIB] ajouter une variable a une phrase avec irclib
SOLUTION :
Code:
serv.privmsg(enemy,"!ep1 -rep {} ".format(resArr))
Salut tout le monde je suis entrain d'essayer de casser un challenge sur root-me,
Je dois creer un bot qui calcule le carré d'un nombre fois le deuxieme et renvoyé la réponse
la reponse doit etre arrondi au centieme
j'ai réussi a recuperer le nombre
J'ai réussi le calcul
Mais le le probleme vient du fait que je dois renvoyer une phrase avec la réponse => !ep1 -rep <reponse>
si je comparerais ça en C c'est utiliser %f et la variable qui va avec, si je me fais bien comprendre ?
J'ai essayée plusieurs technique et rien n'y fait avez vous une idée?
Merci d'avance
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44
|
#!/usr/bin/python
# -*- coding: utf8 -*-
import irclib
import ircbot
from random import randrange
from math import *
CANAL = "#root-me_challenge" # Canal ou l'on veut la connection
enemy = "Candy"
res = 0.0
resOk = 0.0
class myBot(ircbot.SingleServerIRCBot):
def __init__(self):
ircbot.SingleServerIRCBot.__init__(self, [("irc.root-me.org", 6667)],
"bot_boubouf","Bot réalisé en Python avec ircbot")
def on_welcome(self, serv, ev): # A la connection au serveur
serv.join(CANAL)
serv.privmsg(CANAL, "Salut a tous, je vais vaincre Candy")
serv.privmsg(enemy,"!ep1")
def on_privmsg(self, serv, ev): # Quand le bot recoit un message en privé
message = ev.arguments()[0] # On recupére le message
print(message)
arguments = message.split(" / ") # Transformation du message en liste
nb1 = float(arguments[0]) #debut calcul
nb2 = float(arguments[1])
res = float(sqrt(nb1))
resOk = float(res*nb2) #fin calcul
resArr = round(resOk,2) #arrondir au centieme
print(resArr)
serv.privmsg(enemy,"!ep1 -rep",resArr) #<== voila mon probleme
if __name__ == "__main__":
myBot().start() |