Les avertissements suivants se sont produits :
Warning [2] Undefined array key "lockoutexpiry" - Line: 94 - File: global.php PHP 8.0.30 (Linux)
File Line Function
/global.php 94 errorHandler->error
/printthread.php 16 require_once
Warning [2] Undefined array key "lockoutexpiry" - Line: 573 - File: global.php PHP 8.0.30 (Linux)
File Line Function
/global.php 573 errorHandler->error
/printthread.php 16 require_once
Warning [2] Undefined variable $can_access_moderationqueue - Line: 749 - File: global.php PHP 8.0.30 (Linux)
File Line Function
/global.php 749 errorHandler->error
/printthread.php 16 require_once
Warning [2] Undefined array key "avatartype" - Line: 889 - File: global.php PHP 8.0.30 (Linux)
File Line Function
/global.php 889 errorHandler->error
/printthread.php 16 require_once
Warning [2] Undefined array key "avatartype" - Line: 889 - File: global.php PHP 8.0.30 (Linux)
File Line Function
/global.php 889 errorHandler->error
/printthread.php 16 require_once
Warning [2] Undefined variable $unreadreports - Line: 21 - File: global.php(956) : eval()'d code PHP 8.0.30 (Linux)
File Line Function
/global.php(956) : eval()'d code 21 errorHandler->error
/global.php 956 eval
/printthread.php 16 require_once
Warning [2] Undefined variable $awaitingusers - Line: 25 - File: global.php(956) : eval()'d code PHP 8.0.30 (Linux)
File Line Function
/global.php(956) : eval()'d code 25 errorHandler->error
/global.php 956 eval
/printthread.php 16 require_once
Warning [2] Undefined array key "showimages" - Line: 160 - File: printthread.php PHP 8.0.30 (Linux)
File Line Function
/printthread.php 160 errorHandler->error
Warning [2] Undefined array key "showvideos" - Line: 165 - File: printthread.php PHP 8.0.30 (Linux)
File Line Function
/printthread.php 165 errorHandler->error
Warning [2] Undefined array key "showimages" - Line: 160 - File: printthread.php PHP 8.0.30 (Linux)
File Line Function
/printthread.php 160 errorHandler->error
Warning [2] Undefined array key "showvideos" - Line: 165 - File: printthread.php PHP 8.0.30 (Linux)
File Line Function
/printthread.php 165 errorHandler->error
Warning [2] Undefined array key "showimages" - Line: 160 - File: printthread.php PHP 8.0.30 (Linux)
File Line Function
/printthread.php 160 errorHandler->error
Warning [2] Undefined array key "showvideos" - Line: 165 - File: printthread.php PHP 8.0.30 (Linux)
File Line Function
/printthread.php 165 errorHandler->error
Warning [2] Undefined array key "showimages" - Line: 160 - File: printthread.php PHP 8.0.30 (Linux)
File Line Function
/printthread.php 160 errorHandler->error
Warning [2] Undefined array key "showvideos" - Line: 165 - File: printthread.php PHP 8.0.30 (Linux)
File Line Function
/printthread.php 165 errorHandler->error
Warning [2] Undefined array key "showimages" - Line: 160 - File: printthread.php PHP 8.0.30 (Linux)
File Line Function
/printthread.php 160 errorHandler->error
Warning [2] Undefined array key "showvideos" - Line: 165 - File: printthread.php PHP 8.0.30 (Linux)
File Line Function
/printthread.php 165 errorHandler->error
Warning [2] Undefined array key "showimages" - Line: 160 - File: printthread.php PHP 8.0.30 (Linux)
File Line Function
/printthread.php 160 errorHandler->error
Warning [2] Undefined array key "showvideos" - Line: 165 - File: printthread.php PHP 8.0.30 (Linux)
File Line Function
/printthread.php 165 errorHandler->error
Warning [2] Undefined array key "showimages" - Line: 160 - File: printthread.php PHP 8.0.30 (Linux)
File Line Function
/printthread.php 160 errorHandler->error
Warning [2] Undefined array key "showvideos" - Line: 165 - File: printthread.php PHP 8.0.30 (Linux)
File Line Function
/printthread.php 165 errorHandler->error



100%Naruto • forums
100% Naruto AutoVote V1.0 - Version imprimable

+- 100%Naruto • forums (https://forums.centpourcent-naruto.fr)
+-- Forum : Communauté - Autre (https://forums.centpourcent-naruto.fr/forumdisplay.php?fid=18)
+--- Forum : Discussions générales (https://forums.centpourcent-naruto.fr/forumdisplay.php?fid=19)
+--- Sujet : 100% Naruto AutoVote V1.0 (/showthread.php?tid=1983)



100% Naruto AutoVote V1.0 - Fawn-Drake - 06/08/2017

Re bonsoir,

comme je le disais dans ma présentation je code tout et n'importe quoi pour tuer le temps en ce moment, je vous ai donc fait un petit soft d'autovote, il va voter toutes les 2h00...Pour le moment il lance votre navigateur.

Je verrai si je peux le passer en silent plus tard(V1.1)....

Je n'ai pas mis d'icône à l'appli, la flemme....Je vous mets le code source pour ceux que ça intéresse(python 2.7.13)
Il se fait un poil tard là je vais dormir :zzz:

Edit : Voilà c'est recodé, recompilé !

100%_Naruto_AutoVote_V1.0

SOURCECODE_100%_Naruto_AutoVote_V1.0

MODE D'EMPLOI :

1) Téléchargez l'archive

2) Décompressez l'archive où vous voulez

3) Lancez l'installeur

4) Lancez le logiciel

5) Cliquez sur le bouton "Start Auto Vote"

6) Laissez le faire son job :p (Les fenêtres se fermeront toutes seules lorsqu'il aura voté)

PS : N'oubliez pas de lancer le soft "en tant qu'administrateur" sinon il génèrera une erreur ! Vous pouvez le faire définitivement en faisant click droit sur le raccourci du bureau>Propriétés>Compatibilité>Cocher la case "éxécuter ce programme en tant qu'administrateur"

Code :
# -*- coding: cp1252 -*-
from time import gmtime, strftime
import time
from selenium.webdriver.common.by import By
from selenium import webdriver
from os import getcwd
from datetime import datetime
import  wx #importe le module graphique wx
import os

#trigger
count=0

class MyFrame(wx.Frame):
    def __init__(self, parent, id, title):
        wx.Frame.__init__(self, None, id, u"100% Naruto AutoVote par François GARBEZ", wx.DefaultPosition, wx.Size(500, 200),style=wx.MINIMIZE_BOX|wx.SYSTEM_MENU | wx.CAPTION | wx.CLOSE_BOX|wx.STAY_ON_TOP)

        #Panel pour affichage
        self.panel = wx.Panel(self, -1)

        #Deco
        ImgDir = (getcwd()+"\\Fond.jpg")
        fond = wx.Image(ImgDir, wx.BITMAP_TYPE_ANY).ConvertToBitmap()
        fond1 = wx.StaticBitmap(self.panel, -1, fond)

        #Crée la barre d'état (en bas).
        self.CreerBarreEtat()

        #Boutons
        self.buttonStartCronVote = wx.Button(fond1,-1,u"Start AutoVote")
        self.Bind(wx.EVT_BUTTON, self.StartCronVote, self.buttonStartCronVote)
        
        self.buttonStopCronVote = wx.Button(fond1,-1,u"Stop AutoVote")
        self.Bind(wx.EVT_BUTTON, self.StopCronVote, self.buttonStopCronVote)

        #widget vide
        self.txtVideCronVote = wx.StaticText(fond1,-1,"")

        #Sizer
        gbox1 = wx.GridBagSizer(10,10)
        gbox1.SetEmptyCellSize((10,10))
        gbox1.Add(self.buttonStartCronVote,(0,0))
        gbox1.Add(self.buttonStopCronVote,(1,0))
        gbox1.Add(self.txtVideCronVote,(2,0))

        #Auto Vote
        box1 = wx.StaticBox(self.panel, -1, u"Auto-Vote :")
        bsizer1 = wx.StaticBoxSizer(box1, wx.HORIZONTAL)
        sizerH1 = wx.BoxSizer(wx.VERTICAL)
        sizerH1.Add(gbox1, 0, wx.ALL|wx.CENTER, 10)
        bsizer1.Add(sizerH1, 1, wx.EXPAND, 0)

        #--------Ajustement du sizer----------
        mainSizer = wx.BoxSizer(wx.VERTICAL)
        mainSizer.Add(bsizer1, 0,wx.ALL|wx.EXPAND, 10)
        self.SetSizer(mainSizer)

        #On desactive le bouton STOP pour 1er tour
        self.buttonStopCronVote.Disable()

        #GeckoVersion
        self.getGecko()

        #Fonctions
                
    def StopCronVote(self,evt):
        global count
        self.timerVote.Stop()
        self.buttonStartCronVote.Enable()
        self.buttonStopCronVote.Disable()
        self.txtVideCronVote.SetLabel(u"0H 0Min 0sec"+u" Nb="+str(count))
        self.txtVideCronVote.Refresh()
        evt.Skip()
        
    def StartCronVote(self,evt):
        global Tzero
        self.VoteEnter()
        self.timerVote=wx.Timer(self, -1)
        self.timerVote.Start(500)
        Tzero=time.time()
        self.Bind(wx.EVT_TIMER, self.ChronoVote, self.timerVote)
        self.buttonStartCronVote.Disable()
        self.buttonStopCronVote.Enable()
        evt.Skip()
    
    def ChronoVote(self,evt):
        global Tzero,count
        tempsP=time.time()
        diffTemps = tempsP-Tzero
        diffTup = time.gmtime(diffTemps)
        tempsF="%iH %iMin %isec" % ( diffTup.tm_hour, diffTup.tm_min, diffTup.tm_sec)
        self.txtVideCronVote.SetLabel(tempsF+u" Nb="+str(count))
        self.txtVideCronVote.Refresh()
        if tempsF==u"2H 0Min 0sec":
            self.timerVote.Stop()
            self.StartCronVote(evt)
        evt.Skip()
        
    def getGecko(self):
        global geckopath
        if 'PROGRAMFILES(X86)' in os.environ:
            geckopath=getcwd()+r"\geckodriver\win64\geckodriver.exe"
        else:
            geckopath=getcwd()+r"\geckodriver\win32\geckodriver.exe"
        
    def VoteEnter(self):
        global geckopath,count,erreur
        erreur=0
        try:
            driver = webdriver.Firefox(executable_path=geckopath)
            driver.get("http://www.root-top.com/topsite/songotan/in.php?ID=216")#adresse de la page page
            driver.refresh()#On bypass la sécurité de ROOT TOP
            try:  
                elem=driver.find_element_by_xpath("//input[@src='http://img.root-top.com/entrer_voter_fr.png']")#On cherche l'image à clicker
                elem.click()# On clique
                driver.quit()
                count+=1
            except:
                self.erreurVote()
                driver.quit()
        except:
            erreurConnexion()
            driver.quit()
        
    def erreurConnexion(self):
        dlg = wx.MessageDialog(self,u"Erreur 404-Page Innaccessible...\nVérifiez votre connexion internet !","Erreur 404",\
        style=wx.ICON_ERROR|wx.STAY_ON_TOP|wx.CENTER|wx.OK) #Definit les attributs de la fenetre de message.
        dlg.ShowModal()

    def erreurVote(self):
        dlg = wx.MessageDialog(self,u"Vous avez déjà voté !!!\nRéessayez plus tard !","Erreur de vote !",\
        style=wx.ICON_ERROR|wx.STAY_ON_TOP|wx.CENTER|wx.OK) #Definit les attributs de la fenetre de message.
        dlg.ShowModal()
        
    def Chrono(self):#Chronometre (date et heure)
        stemps = time.strftime("%A %d/%m/%Y") #Definit le format voulu
        self.SetStatusText(stemps,1) #Affiche a chaque seconde.
    
    def CreerBarreEtat(self):#Creation de la barre d'etat du bas avec l'affichage de l'heure et date
        self.CreateStatusBar(2) #Cree une barre de statut (en bas) de deux parties.
        self.SetStatusWidths([-1,150]) #Definit la taille.
        self.Chrono()#Affiche.

    def on_close(evt):#Pour kill le timer
        wx.EVT_CLOSE(frame, on_close)
        self.timerVote.Stop()
        frame.Destroy()
        evt.Skip()
        
class MyApp(wx.App):
    def OnInit(self):
        frame = MyFrame(None, -1, None)
        frame.Show(True)
        frame.Centre()
        return True

if __name__=='__main__':    

    app = MyApp(0)
    app.MainLoop()



RE: 100% Naruto AutoVote V1.0 - Sasuke - 06/08/2017

Je sais pas ceque c'est mais sa a l'air utile,bien jouer x)


RE: 100% Naruto AutoVote V1.0 - Fawn-Drake - 06/08/2017

(06/08/2017, 17:51)Sasuke a écrit : Je sais pas ceque c'est mais sa a l'air utile,bien jouer x)

C'est juste une petite app CRON pour voter pour le fofo.... Arf ! Je viens de voir qu'il y a un bouton pour voter Grrrrrr

Bon j'recode pour générer le click.... J'enlève les liens de DDL qui sont inutiles pour le moment, je les remettrai quand le code sera fait et corrigé :)


RE: 100% Naruto AutoVote V1.0 - Fawn-Drake - 07/08/2017

:up.gif: :up.gif: :up.gif: Voilà j'ai fini de le coder, voilà un petit aperçu de la chose, je referai un screen demain après dodo pour voir s'il n'a pas planté et combien de votes il a réalisé pendant la nuit Whistle

[Image: autovotestart.jpg]


RE: 100% Naruto AutoVote V1.0 - Bugle - 07/08/2017

Super intéressant merci ! :D
Le top-site n'est plus vraiment une source de trafic super importante (contrairement à l'époque) mais si on peut être bien placé c'est toujours cool, merci :great:


RE: 100% Naruto AutoVote V1.0 - Fawn-Drake - 07/08/2017

:up.gif: :up.gif: :up.gif: Client et code source mis à jour !

Eh bien, j'crois bien que je n'en finirai jamais Tongue En même temps on trouve toujours de quoi améliorer.....

Bon cette fois-ci j'en resterai là, il est fonctionnel Diablo

Par contre je n'ai pas pu réaliser le test cette nuit, internet a coupé...(évidemment Grrrrrr ) Néanmoins cela m'a permis de prendre en compte cette éventualité dans le code !

Je relance un test  Cool

PS : Merci pour le changement de pseudo !


RE: 100% Naruto AutoVote V1.0 - Fawn-Drake - 08/08/2017

Voilà,

résultat du test fonctionnel sur une nuit :

[Image: autovote_testok.jpg]
Il a donc voté 6 fois sur la nuit, TEST CONCLUANT Cool