Pages

Wednesday, 2 December 2015

Nimbuzz Id Login, Get Roster, Avatar Grabber, Hang Bots ALL wxPython GUI coded by db~@NC

Here is the full source code:

#---------------------------------------------------------------------
#!/usr/bin/env python
# -*- coding: utf-8 -*-
# -*- Nimbuzz Login, Avatar Grabber, Hang Bots -*-
# -*- Python (2.7.10) -*-
# -*- wxPython (2.8) -*-
# -*- Author : DB <dbh4ck@gmail.com> aka <db~@NC> -*-
# -*- GUI wxPython -*-
# -*- coded by db~@NC -*-
#---------------------------------------------------------------------
import os
import sys
import traceback
import types
import getpass
import locale
import warnings
import time
import logging
import random
import urllib
import threading,thread
from decimal import Decimal
import wx
if "2.8" in wx.version():
import wx.lib.pubsub.setupkwargs
else:
from wx.lib.pubsub import setuparg1
import wx.lib.agw.hyperlink as hl
import wx, wx.html
class MainWindow(wx.Frame):
def __init__(SELF,parent,id,title):
wx.Frame.__init__(SELF, None,-1,"wx_Nimbuzz Client Login, Avatar Grabber, Chatroom Hang Bots Coded by db~@NC",size=(635,700),style=wx.DEFAULT_FRAME_STYLE ^ wx.RESIZE_BORDER ^ wx.MAXIMIZE_BOX)
SELF.SetBackgroundColour((0xcc,0xff,0xcc))
SELF.initialize()
def initialize(SELF):
paneldblbl = wx.Panel(SELF,-1,pos =(0,2),size=(620,42))
paneldblbl.SetBackgroundColour((0xcc,0xff,0xcc))
db1_lbl_sizer = wx.BoxSizer(wx.HORIZONTAL)
db1_lbl = wx.StaticText(paneldblbl,wx.ALIGN_CENTER ,label="wx_Nimbuzz Client WXPYTHON GUI Coded by db~@NC")
db1_lbl_sizer.Add(db1_lbl,0,wx.ALL,5)
db1_lbl.SetForegroundColour(wx.BLUE)
font_db1_lbl = wx.Font(15, wx.DECORATIVE, wx.ITALIC, wx.BOLD)
db1_lbl.SetFont(font_db1_lbl)
def resource_path(relative):
if hasattr(sys,"_MEIPASS"):
return os.path.join(sys._MEIPASS, relative)
return os.path.join(relative)
image_sizer = wx.BoxSizer(wx.HORIZONTAL)
image = wx.StaticBitmap(SELF,-1,size=(620,90))
image.SetBitmap(wx.Bitmap(resource_path('images\db1.jpg')))
image_sizer.Add(image,0,wx.ALL,5)
panel1 = wx.Panel(SELF,-1,pos =(8,160),size=(235,200))
panel2 = wx.Panel(SELF,-1,pos =(8,400),size=(235,260))
panel3 = wx.Panel(SELF,-1,pos =(255,145),size=(363,215))
panel4 = wx.Panel(SELF,-1,pos =(255,400),size=(235,260))
panel5 = wx.Panel(SELF,-1,pos =(430,400),size=(190,260))
SELF.dblbl = wx.StaticBox(SELF, -1, 'Login ID:' , pos =(5,145),size=(240,220))
font_dblbl= wx.Font(11, wx.DECORATIVE, wx.ITALIC, wx.BOLD)
SELF.dblbl.SetForegroundColour(wx.BLUE)
SELF.dblbl.SetFont(font_dblbl)
SELF.dblbl2 = wx.StaticBox(SELF, -1, 'Online Contacts:' , pos =(5,380),size=(240,290))
font_dblbl2= wx.Font(11, wx.DECORATIVE, wx.ITALIC, wx.BOLD)
SELF.dblbl2.SetForegroundColour(wx.BLUE)
SELF.dblbl2.SetFont(font_dblbl2)
SELF.dblbl3 = wx.StaticBox(SELF, -1, 'Avatar Grabber:' , pos =(255,145),size=(368,220))
font_dblbl3 = wx.Font(11, wx.DECORATIVE, wx.ITALIC, wx.BOLD)
SELF.dblbl3.SetForegroundColour(wx.BLUE)
SELF.dblbl3.SetFont(font_dblbl3)
SELF.dblbl4 = wx.StaticBox(SELF, -1, 'Hang Bots:' , pos =(255,380),size=(368,290))
font_dblbl4= wx.Font(11, wx.DECORATIVE, wx.ITALIC, wx.BOLD)
SELF.dblbl4.SetForegroundColour(wx.BLUE)
SELF.dblbl4.SetFont(font_dblbl4)
panel1.SetBackgroundColour((0xcc,0xcc,0xff))
panel2.SetBackgroundColour((0xcc,0xcc,0xff))
panel3.SetBackgroundColour((0xcc,0xcc,0xff))
panel4.SetBackgroundColour((0xcc,0xcc,0xff))
panel4.SetBackgroundColour((0xcc,0xcc,0xff))
panel5.SetBackgroundColour((0xcc,0xcc,0xff))
#panel1.Hide()
#panel2.Hide()
SELF.dblbl_sizer = wx.StaticBoxSizer(SELF.dblbl, wx.VERTICAL)
SELF.dblbl2_sizer = wx.StaticBoxSizer(SELF.dblbl2, wx.VERTICAL)
SELF.dblbl3_sizer = wx.StaticBoxSizer(SELF.dblbl3, wx.VERTICAL)
SELF.dblbl4_sizer = wx.StaticBoxSizer(SELF.dblbl4, wx.VERTICAL)
font_lbl= wx.Font(10, wx.DECORATIVE, wx.ITALIC, wx.BOLD)
user_sizer = wx.BoxSizer(wx.HORIZONTAL)
user_lbl = wx.StaticText(panel1, label= "Username:")
user_lbl.SetForegroundColour(wx.BLUE)
user_lbl.SetFont(font_lbl)
user_sizer.Add(user_lbl,0,wx.LEFT|wx.TOP,10)
SELF.dblbl_sizer.Add(user_lbl,0,wx.ALL|wx.CENTER,5)
SELF.user = wx.TextCtrl(panel1, style=wx.TE_CENTER)
SELF.user.SetForegroundColour(wx.BLUE)
user_sizer.Add(SELF.user,0,wx.ALL,8)
SELF.dblbl_sizer.Add(SELF.user,0,wx.ALL|wx.CENTER,5)
font_1= wx.Font(11, wx.DECORATIVE, wx.NORMAL, wx.BOLD)
SELF.user.SetFont(font_1)
p_sizer = wx.BoxSizer(wx.HORIZONTAL)
p_lbl = wx.StaticText(panel1, label="Password:")
p_lbl.SetForegroundColour(wx.BLUE)
p_lbl.SetFont(font_lbl)
p_sizer.Add(p_lbl,0,wx.LEFT|wx.TOP,14)
SELF.dblbl_sizer.Add(p_lbl,0,wx.ALL|wx.CENTER,5)
SELF.password = wx.TextCtrl(panel1, style=wx.TE_PASSWORD|wx.TE_PROCESS_ENTER|wx.TE_CENTER)
SELF.password.SetForegroundColour(wx.BLUE)
p_sizer.Add(SELF.password,0,wx.ALL,8)
SELF.dblbl_sizer.Add(SELF.password,0,wx.ALL|wx.CENTER,5)
SELF.password.SetFont(font_1)
res_sizer = wx.BoxSizer(wx.HORIZONTAL)
res_lbl = wx.StaticText(panel1, label= "Resource:")
res_lbl.SetForegroundColour(wx.BLUE)
res_lbl.SetFont(font_lbl)
res_sizer.Add(res_lbl,0,wx.LEFT|wx.TOP,14)
SELF.dblbl_sizer.Add(res_lbl,0,wx.ALL|wx.CENTER,5)
SELF.res = wx.TextCtrl(panel1, style=wx.TE_CENTER)
SELF.res.SetForegroundColour(wx.BLUE)
res_sizer.Add(SELF.res,0,wx.ALL,8)
SELF.dblbl_sizer.Add(SELF.res,0,wx.ALL|wx.CENTER,5)
SELF.res.SetFont(font_1)
nickname_sizer = wx.BoxSizer(wx.HORIZONTAL)
nickname_lbl = wx.StaticText(panel1, label= "Nickname:")
nickname_lbl.SetForegroundColour(wx.BLUE)
nickname_lbl.SetFont(font_lbl)
nickname_sizer.Add(nickname_lbl,0,wx.LEFT|wx.CENTER,8)
SELF.dblbl_sizer.Add(nickname_lbl,0,wx.ALL|wx.CENTER,5)
SELF.nickname = wx.TextCtrl(panel1, style=wx.TE_CENTER)
SELF.nickname.SetForegroundColour(wx.BLUE)
nickname_sizer.Add(SELF.nickname,0,wx.ALL,8)
SELF.dblbl_sizer.Add(SELF.nickname,0,wx.ALL|wx.CENTER,5)
SELF.nickname.SetFont(font_1)
button_sizer = wx.BoxSizer(wx.HORIZONTAL)
SELF.button = wx.Button(panel1,-1,label="Login")
SELF.Bind(wx.EVT_BUTTON,SELF.OnButtonClick,SELF.button)
font_button= wx.Font(12, wx.DECORATIVE, wx.ITALIC, wx.BOLD)
SELF.button.SetFont(font_button)
SELF.button.SetForegroundColour(wx.RED)
button_sizer.Add(SELF.button,0,wx.LEFT,83)
SELF.dblbl_sizer.Add(SELF.button,0,wx.ALL|wx.CENTER,5)
listbox_sizer = wx.BoxSizer(wx.HORIZONTAL)
SELF.dbListBox = wx.ListBox(panel2,-1,size=(235,265),style=wx.LB_SINGLE|wx.LB_SORT)
listbox_sizer.Add(SELF.dbListBox,0,wx.CENTER,5)
SELF.dbListBox.SetForegroundColour(wx.BLUE)
font_dbListBox= wx.Font(9, wx.DECORATIVE, wx.NORMAL, wx.BOLD)
SELF.dbListBox.SetFont(font_dbListBox)
SELF.dbListBox.SetBackgroundColour((0xcc,0xcc,0xff))
SELF.dbListBox.Show(True)
avatar_sizer = wx.BoxSizer(wx.HORIZONTAL)
avatar_lbl = wx.StaticText(panel3, label= "Enter Target username [without '@nimbuzz.com']")
avatar_lbl.SetForegroundColour(wx.BLUE)
avatar_lbl.SetFont(font_lbl)
avatar_sizer.Add(avatar_lbl,0,wx.TOP|wx.RIGHT,-175)
SELF.dblbl3_sizer.Add(avatar_lbl,0,wx.ALL|wx.CENTER,5)
note_sizer = wx.BoxSizer(wx.HORIZONTAL)
note_lbl = wx.StaticText(panel3, label= "[ Note: Files are being saved at 'C:\Nimbuzz_Avatars' ]")
note_lbl.SetForegroundColour(wx.BLUE)
note_lbl.SetFont(font_lbl)
note_sizer.Add(note_lbl,0,wx.TOP|wx.RIGHT,-75)
SELF.dblbl3_sizer.Add(note_lbl,0,wx.ALL|wx.CENTER,5)
SELF.avatar = wx.TextCtrl(panel3, style=wx.TE_CENTER)
SELF.avatar.SetForegroundColour(wx.BLUE)
avatar_sizer.Add(SELF.avatar,0,wx.TOP|wx.LEFT,-130)
SELF.dblbl3_sizer.Add(SELF.avatar,0,wx.ALL|wx.CENTER,5)
SELF.avatar.SetFont(font_1)
button2_sizer = wx.BoxSizer(wx.HORIZONTAL)
SELF.button2 = wx.Button(panel3,-1,label="GRAB NOW!! ")
SELF.Bind(wx.EVT_BUTTON,SELF.OnButton2Click,SELF.button2)
font_button2= wx.Font(12, wx.DECORATIVE, wx.ITALIC, wx.BOLD)
SELF.button2.SetFont(font_button2)
SELF.button2.SetForegroundColour(wx.RED)
button2_sizer.Add(SELF.button2,0,wx.TOP|wx.RIGHT,-115)
SELF.dblbl3_sizer.Add(SELF.button2,0,wx.ALL|wx.CENTER,5)
bot1_sizer = wx.BoxSizer(wx.HORIZONTAL)
bot1_lbl = wx.StaticText(panel4, label= "bot 1:")
bot1_lbl.SetForegroundColour(wx.BLUE)
bot1_lbl.SetFont(font_lbl)
bot1_sizer.Add(bot1_lbl,0,wx.LEFT|wx.TOP,14)
SELF.dblbl4_sizer.Add(bot1_lbl,0,wx.ALL|wx.CENTER,5)
SELF.bot1 = wx.TextCtrl(panel4, style=wx.TE_CENTER)
SELF.bot1.SetForegroundColour(wx.BLUE)
bot1_sizer.Add(SELF.bot1,0,wx.ALL,8)
SELF.dblbl4_sizer.Add(SELF.bot1,0,wx.LEFT|wx.CENTER,15)
font_1= wx.Font(11, wx.DECORATIVE, wx.NORMAL, wx.BOLD)
SELF.bot1.SetFont(font_1)
bot2_sizer = wx.BoxSizer(wx.HORIZONTAL)
bot2_lbl = wx.StaticText(panel4, label= "bot 2:")
bot2_lbl.SetForegroundColour(wx.BLUE)
bot2_lbl.SetFont(font_lbl)
bot2_sizer.Add(bot2_lbl,0,wx.LEFT|wx.TOP,14)
SELF.dblbl4_sizer.Add(bot2_lbl,0,wx.ALL|wx.CENTER,5)
SELF.bot2 = wx.TextCtrl(panel4, style=wx.TE_CENTER)
SELF.bot2.SetForegroundColour(wx.BLUE)
bot2_sizer.Add(SELF.bot2,0,wx.ALL,8)
SELF.dblbl4_sizer.Add(SELF.bot2,0,wx.LEFT|wx.CENTER,5)
font_1= wx.Font(11, wx.DECORATIVE, wx.NORMAL, wx.BOLD)
SELF.bot2.SetFont(font_1)
bot3_sizer = wx.BoxSizer(wx.HORIZONTAL)
bot3_lbl = wx.StaticText(panel4, label= "bot 3:")
bot3_lbl.SetForegroundColour(wx.BLUE)
bot3_lbl.SetFont(font_lbl)
bot3_sizer.Add(bot3_lbl,0,wx.LEFT|wx.TOP,14)
SELF.dblbl4_sizer.Add(bot3_lbl,0,wx.ALL|wx.CENTER,5)
SELF.bot3 = wx.TextCtrl(panel4, style=wx.TE_CENTER)
SELF.bot3.SetForegroundColour(wx.BLUE)
bot3_sizer.Add(SELF.bot3,0,wx.ALL,8)
SELF.dblbl4_sizer.Add(SELF.bot3,0,wx.LEFT|wx.CENTER,5)
font_1= wx.Font(11, wx.DECORATIVE, wx.NORMAL, wx.BOLD)
SELF.bot3.SetFont(font_1)
bot4_sizer = wx.BoxSizer(wx.HORIZONTAL)
bot4_lbl = wx.StaticText(panel4, label= "bot 4:")
bot4_lbl.SetForegroundColour(wx.BLUE)
bot4_lbl.SetFont(font_lbl)
bot4_sizer.Add(bot4_lbl,0,wx.LEFT|wx.TOP,14)
SELF.dblbl4_sizer.Add(bot4_lbl,0,wx.ALL|wx.CENTER,5)
SELF.bot4 = wx.TextCtrl(panel4, style=wx.TE_CENTER)
SELF.bot4.SetForegroundColour(wx.BLUE)
bot4_sizer.Add(SELF.bot4,0,wx.ALL,8)
SELF.dblbl4_sizer.Add(SELF.bot4,0,wx.ALL|wx.CENTER,5)
SELF.bot4.SetFont(font_1)
bot5_sizer = wx.BoxSizer(wx.HORIZONTAL)
bot5_lbl = wx.StaticText(panel4, label= "bot 5:")
bot5_lbl.SetForegroundColour(wx.BLUE)
bot5_lbl.SetFont(font_lbl)
bot5_sizer.Add(bot5_lbl,0,wx.LEFT|wx.TOP,14)
SELF.dblbl4_sizer.Add(bot5_lbl,0,wx.ALL|wx.CENTER,5)
SELF.bot5 = wx.TextCtrl(panel4, style=wx.TE_CENTER)
SELF.bot5.SetForegroundColour(wx.BLUE)
bot5_sizer.Add(SELF.bot5,0,wx.ALL,8)
SELF.dblbl4_sizer.Add(SELF.bot5,0,wx.ALL|wx.CENTER,5)
SELF.bot5.SetFont(font_1)
botpw_sizer = wx.BoxSizer(wx.HORIZONTAL)
botpw_lbl = wx.StaticText(panel5, label= "Pass. :")
botpw_lbl.SetForegroundColour(wx.BLUE)
botpw_lbl.SetFont(font_lbl)
botpw_sizer.Add(botpw_lbl,0,wx.LEFT|wx.TOP,14)
SELF.dblbl4_sizer.Add(botpw_lbl,0,wx.ALL|wx.CENTER,5)
SELF.botpw = wx.TextCtrl(panel5, style=wx.TE_PASSWORD|wx.TE_PROCESS_ENTER|wx.TE_CENTER)
SELF.botpw.SetForegroundColour(wx.BLUE)
botpw_sizer.Add(SELF.botpw,0,wx.ALL,8)
SELF.dblbl4_sizer.Add(SELF.botpw,0,wx.ALL|wx.CENTER,5)
SELF.botpw.SetFont(font_1)
button3_sizer = wx.BoxSizer(wx.HORIZONTAL)
SELF.button3 = wx.Button(panel4,-1,label="HANG BOTS!! ")
SELF.Bind(wx.EVT_BUTTON,SELF.OnButton3Click,SELF.button3)
font_button3= wx.Font(12, wx.DECORATIVE, wx.ITALIC, wx.BOLD)
SELF.button3.SetFont(font_button2)
SELF.button3.SetForegroundColour(wx.RED)
button3_sizer.Add(SELF.button3,0,wx.TOP|wx.RIGHT,-115)
SELF.dblbl4_sizer.Add(SELF.button3,0,wx.ALL|wx.CENTER,5)
room_sizer = wx.BoxSizer(wx.HORIZONTAL)
room_lbl = wx.StaticText(panel5, label= "Room:")
room_lbl.SetForegroundColour(wx.BLUE)
room_lbl.SetFont(font_lbl)
room_sizer.Add(room_lbl,0,wx.LEFT|wx.TOP,14)
SELF.dblbl4_sizer.Add(room_lbl,0,wx.ALL|wx.CENTER,5)
SELF.room = wx.TextCtrl(panel5, style=wx.TE_CENTER)
SELF.room.SetForegroundColour(wx.BLUE)
room_sizer.Add(SELF.room,0,wx.ALL,8)
SELF.dblbl4_sizer.Add(SELF.room,0,wx.ALL|wx.CENTER,5)
SELF.room.SetFont(font_1)
hang_sizer = wx.BoxSizer(wx.HORIZONTAL)
hang_lbl = wx.StaticText(panel5, label= "[common password for all ids]")
hang_lbl.SetForegroundColour(wx.BLUE)
hang_lbl.SetFont(font_lbl)
hang_sizer.Add(hang_lbl,0,wx.TOP|wx.RIGHT,-15)
SELF.dblbl4_sizer.Add(hang_lbl,0,wx.ALL|wx.CENTER,5)
hang2_sizer = wx.BoxSizer(wx.HORIZONTAL)
hang2_lbl = wx.StaticText(panel5, label= "[ids must membered in room]")
hang2_lbl.SetForegroundColour(wx.BLUE)
hang2_lbl.SetFont(font_lbl)
hang2_sizer.Add(hang2_lbl,0,wx.TOP|wx.RIGHT,-15)
SELF.dblbl4_sizer.Add(hang2_lbl,0,wx.ALL|wx.CENTER,5)
main_sizer= wx.BoxSizer(wx.VERTICAL)
main_sizer.Add(db1_lbl_sizer,0,wx.ALL|wx.CENTER,3)
main_sizer.Add(image_sizer,0,wx.ALL|wx.CENTER,1)
main_sizer.Add(user_sizer,0,wx.TOP,-135)
main_sizer.Add(p_sizer,0,wx.TOP,-100)
main_sizer.Add(res_sizer,0,wx.TOP,-61)
main_sizer.Add(nickname_sizer,0,wx.TOP,-24)
main_sizer.Add(button_sizer,0,wx.TOP,2)
main_sizer.Add(avatar_sizer,0,wx.TOP|wx.LEFT,20)
main_sizer.Add(button2_sizer,0,wx.TOP|wx.LEFT,20)
main_sizer.Add(note_sizer,0,wx.TOP|wx.LEFT,10)
main_sizer.Add(bot1_sizer,0,wx.TOP,-237)
#main_sizer.Add(bot1_sizer,0,wx.TOP|wx.RIGHT,-240)
main_sizer.Add(bot2_sizer,0,wx.TOP|wx.RIGHT,-200)
main_sizer.Add(bot3_sizer,0,wx.TOP,-161)
main_sizer.Add(bot4_sizer,0,wx.TOP,-122)
main_sizer.Add(bot5_sizer,0,wx.TOP,-85)
main_sizer.Add(botpw_sizer,0,wx.TOP,-210)
main_sizer.Add(room_sizer,0,wx.TOP,-140)
main_sizer.Add(hang_sizer,0,wx.TOP,-155)
main_sizer.Add(button3_sizer,0,wx.TOP|wx.LEFT,85)
main_sizer.Add(hang2_sizer,0,wx.TOP,-170)
SELF.SetSizer(main_sizer)
SELF.Show(True)
SELF.Center()
def OnButtonClick(SELF,event):
STATUS = 'db here'
SHOW = 'chat'
NICK = SELF.nickname.GetValue()
SERVER = 'nimbuzz.com'
HOST = 'o.nimbuzz.com'
PORT = 5222
ROOM_SERVER = 'conference.nimbuzz.com'
USR = SELF.user.GetValue()
PW = SELF.password.GetValue()
RS = SELF.res.GetValue()
usrjid='%s@%s/%s'%(USR,SERVER,RS)
import xmpp
class dbconn(xmpp.Client):
def __init__(self):
self.client = xmpp.Client('nimbuzz.com', debug=False)
if self.client.connect( server=('o.nimbuzz.com',5222), secure=False ):
print ("Connected")
print ("\nLogging now..\n")
if self.client.auth(USR,PW,'res'):
print ("Logged in\n\n")
SELF.user.SetBackgroundColour(wx.GREEN)
SELF.password.SetBackgroundColour(wx.GREEN)
SELF.res.SetBackgroundColour(wx.GREEN)
SELF.nickname.SetBackgroundColour(wx.GREEN)
else:
print ("Unable to Login. Check your username and password")
SELF.user.SetBackgroundColour(wx.RED)
SELF.password.SetBackgroundColour(wx.RED)
SELF.res.SetBackgroundColour(wx.RED)
raw_input('Press Enter to exit...')
sys.exit(1)
else:
print ("Couldn't Connect. Restarting..")
os.execl(sys.executable, sys.executable, sys.argv[0])
prs = xmpp.simplexml.XML2Node(unicode("<presence><status>%s</status><priority>1</priority><show>%s</show><nick xmlns='http://jabber.org/protocol/nick'>%s</nick></presence>" % (STATUS,SHOW,NICK)).encode('utf8'))
self.client.send(prs)
roster = self.client.getRoster()
#self.client.sendInitPresence()
items = roster.getItems()
for jid in items:
name = roster.getName(jid)
jidres = roster.getResources(jid)
for res in jidres:
resource = roster.getResources(jid.split('/', 1)[0] + '/' + res)
dbcontactlist = u'%s %s/%s' % (name or '', jid, res)
SELF.dbListBox.Append(str(dbcontactlist))
def wake(self):
self.awake = True
# if [ res for res in roster.getResources(tojid) if res.startswith(tail) ]:
# break
#for res in roster.getResources(tojid):
# if res.startswith(tail):
# tojid = tojid.split('/', 1)[0] + '/' + res
if __name__ == '__main__':
logging.basicConfig(level=logging.ERROR, format='%(levelname)-8s %(message)s')
xmpp = dbconn()
def OnButton2Click(SELF,event):
nimbuzz_avatar = urllib.URLopener()
dirname = 'C:\Nimbuzz Avatars'
if not os.path.exists(dirname):
os.mkdir(dirname)
os.chdir("C:\Nimbuzz Avatars")
def reporthook(blocknum, blocksize, totalsize):
readsofar = blocknum * blocksize
if totalsize > 0:
percent = readsofar * 1e2 / totalsize
s = "\r%5.1f%% %*d / %d" % (percent, len(str(totalsize)), readsofar, totalsize)
sys.stderr.write(s)
if readsofar >= totalsize: # near the end
sys.stderr.write("\n")
else: # total size is unknown
sys.stderr.write("read %d\n" % (readsofar,))
nimbuzz_avatar.retrieve("http://avatar.nimbuzz.com/getAvatar?jid=%s@nimbuzz.com" % SELF.avatar.GetValue(),"%s.jpg" % SELF.avatar.GetValue(),reporthook)
print 'Download Completed.'
def OnButton3Click(SELF,event):
""" ######################################## LOGIN BOT ID 1 ######################################## """
user1 = SELF.bot1.GetValue()
pw1 = SELF.botpw.GetValue()
rs1 = 'dbot1'
STATUS = 'chat'
SHOW = 'Hang Bot 1 :)'
NICK1 = 'Bot1'
""" ######################################## LOGIN BOT ID 2 ######################################## """
user2 = SELF.bot2.GetValue()
pw2 = SELF.botpw.GetValue()
rs2 = 'dbot2'
STATUS = 'chat'
SHOW = 'Hang Bot 2 :)'
NICK2 = 'Bot2'
""" ######################################## LOGIN BOT ID 3 ######################################## """
user3 = SELF.bot3.GetValue()
pw3 = SELF.botpw.GetValue()
rs3 = 'dbot3'
STATUS = 'chat'
SHOW = 'Hang Bot 3 :)'
NICK3 = 'Bot3'
""" ######################################## LOGIN BOT ID 4 ######################################## """
user4 = SELF.bot4.GetValue()
pw4 = SELF.botpw.GetValue()
rs4 = 'dbot4'
STATUS = 'chat'
SHOW = 'Hang Bot 2 :)'
NICK4 = 'Bot4'
""" ######################################## LOGIN BOT ID 5 ######################################## """
user5 = SELF.bot5.GetValue()
pw5 = SELF.botpw.GetValue()
rs5 = 'dbot5'
STATUS = 'chat'
SHOW = 'Hang Bot 5 :)'
NICK5 = 'Bot5'
print "\n================================ STARTING YOUR BOT...================================"
print "\n================================ Coded BY DB~@NC ================================\n"
import xmpp
""" ######################################## SET UP CONNECTION FOR BOT ID 1 ######################################## """
dbconn1 = xmpp.Client('nimbuzz.com', debug=False)
if dbconn1.connect( server=('o.nimbuzz.com',5222), secure=False ):
print "Connected"
print "\nTrying to login bot1..\n"
if dbconn1.auth(user1, pw1, rs1 ):
print "Logged in bot1\n\n"
SELF.bot1.SetBackgroundColour(wx.GREEN)
else:
print "Unable to login. Check your username1 and password1"
SELF.bot1.SetBackgroundColour(wx.RED)
raw_input('Press Enter to exit..')
sys.exit(1)
else:
print "Couldn't connect. Restarting.."
os.execl(sys.executable, sys.executable, sys.argv[0])
""" ######################################## SET UP CONNECTION FOR BOT ID 2 ######################################## """
dbconn2 = xmpp.Client('nimbuzz.com', debug=False)
if dbconn2.connect( server=('o.nimbuzz.com',5222), secure=False ):
print "Connected"
print "\nTrying to login bot2..\n"
if dbconn2.auth(user2, pw2, rs2 ):
print "Logged in bot2\n\n"
SELF.bot2.SetBackgroundColour(wx.GREEN)
else:
print "Unable to login. Check your username2 and password2"
SELF.bot2.SetBackgroundColour(wx.RED)
raw_input('Press Enter to exit..')
sys.exit(1)
else:
print "Couldn't connect. Restarting.."
os.execl(sys.executable, sys.executable, sys.argv[0])
""" ######################################## SET UP CONNECTION FOR BOT ID 3 ######################################## """
dbconn3 = xmpp.Client('nimbuzz.com', debug=False)
if dbconn3.connect( server=('o.nimbuzz.com',5222), secure=False ):
print "Connected"
print "\nTrying to login bot3..\n"
if dbconn3.auth(user3, pw3, rs3 ):
print "Logged in bot3\n\n"
SELF.bot3.SetBackgroundColour(wx.GREEN)
else:
print "Unable to login. Check your username3 and password3"
SELF.bot3.SetBackgroundColour(wx.RED)
raw_input('Press Enter to exit..')
sys.exit(1)
else:
print "Couldn't connect. Restarting.."
os.execl(sys.executable, sys.executable, sys.argv[0])
""" ######################################## SET UP CONNECTION FOR BOT ID 4 ######################################## """
dbconn4 = xmpp.Client('nimbuzz.com', debug=False)
if dbconn4.connect( server=('o.nimbuzz.com',5222), secure=False ):
print "Connected"
print "\nTrying to login bot4..\n"
if dbconn4.auth(user4, pw4, rs4 ):
print "Logged in bot4\n\n"
SELF.bot4.SetBackgroundColour(wx.GREEN)
else:
print "Unable to login. Check your username4 and password4"
SELF.bot4.SetBackgroundColour(wx.RED)
raw_input('Press Enter to exit..')
sys.exit(1)
else:
print "Couldn't connect. Restarting.."
os.execl(sys.executable, sys.executable, sys.argv[0])
""" ######################################## SET UP CONNECTION FOR BOT ID 5 ######################################## """
dbconn5 = xmpp.Client('nimbuzz.com', debug=False)
if dbconn5.connect( server=('o.nimbuzz.com',5222), secure=False ):
print "Connected"
print "\nTrying to login bot5..\n"
if dbconn5.auth(user5, pw5, rs5 ):
print "Logged in bot5\n\n"
SELF.bot5.SetBackgroundColour(wx.GREEN)
else:
print "Unable to login. Check your username5 and password5"
SELF.bot5.SetBackgroundColour(wx.RED)
raw_input('Press Enter to exit..')
sys.exit(1)
else:
print "Couldn't connect. Restarting.."
os.execl(sys.executable, sys.executable, sys.argv[0])
""" ######################################## ROOM SET UP & PRESENCES TO CONFERENCE ######################################## """
room = SELF.room.GetValue()
muc1 = xmpp.simplexml.XML2Node("<presence to ='%s@conference.nimbuzz.com/%s'><priority>1</priority></presence>"%(room,NICK1))
dbconn1.send(muc1)
muc2 = xmpp.simplexml.XML2Node("<presence to ='%s@conference.nimbuzz.com/%s'><priority>1</priority></presence>"%(room,NICK2))
dbconn2.send(muc2)
muc3 = xmpp.simplexml.XML2Node("<presence to ='%s@conference.nimbuzz.com/%s'><priority>1</priority></presence>"%(room,NICK3))
dbconn3.send(muc3)
muc4 = xmpp.simplexml.XML2Node("<presence to ='%s@conference.nimbuzz.com/%s'><priority>1</priority></presence>"%(room,NICK4))
dbconn4.send(muc4)
muc5 = xmpp.simplexml.XML2Node("<presence to ='%s@conference.nimbuzz.com/%s'><priority>1</priority></presence>"%(room,NICK5))
dbconn5.send(muc5)
""" ######################################## SET UP BOT MESSAGES FOR YOUR CHATROOM ######################################## """
msg1 = xmpp.simplexml.XML2Node("<message to ='%s@conference.nimbuzz.com/%s' type='chat'><body>im boT 1 :D</body></message>"%(room,user2))
msg2 = xmpp.simplexml.XML2Node("<message to ='%s@conference.nimbuzz.com/%s' type='chat'><body>im boT 2 :P</body></message>"%(room,user1))
msg3 = xmpp.simplexml.XML2Node("<message to ='%s@conference.nimbuzz.com/%s' type='chat'><body>im boT 3 :@</body></message>"%(room,user4))
msg4 = xmpp.simplexml.XML2Node("<message to ='%s@conference.nimbuzz.com/%s' type='chat'><body>im boT 4 :S</body></message>"%(room,user3))
msg5 = xmpp.simplexml.XML2Node("<message to ='%s@conference.nimbuzz.com/%s' type='chat'><body>im boT 5 :$</body></message>"%(room,user1))
msg6 = xmpp.simplexml.XML2Node("<message to ='%s@conference.nimbuzz.com/%s' type='chat'><body>im boT 1 :D</body></message>"%(room,user5))
import time
while True:
dbconn1.send(msg1)
dbconn2.send(msg2)
dbconn3.send(msg3)
dbconn4.send(msg4)
dbconn5.send(msg5)
dbconn1.send(msg6)
time.sleep(60)
while 1:
try:
dbconn1.Process(1)
dbconn2.Process(1)
dbconn3.Process(1)
dbconn4.Process(1)
dbconn5.Process(1)
except Exception, e:
trace=traceback.format_exc()
print trace
if __name__ == "__main__":
app = wx.App(False)
frame = MainWindow(None,wx.ID_ANY,'Nimbuzz Login, Avatar Grabber, Room HangBots wxPython GUI App Coded by db~@NC')
app.MainLoop()

Wednesday, 4 November 2015

wx_Nimbuzz aka Nimbuzz Login with wxPython GUI

# #!/usr/bin/env python
# -*- coding: utf-8 -*-
# -*- coded by db~@NC -*-
import os
import sys
import traceback
import types
import getpass
import locale
import warnings
import time
import logging
import random
import urllib
import threading,thread
from decimal import Decimal
import wx
if "2.8" in wx.version():
import wx.lib.pubsub.setupkwargs
else:
from wx.lib.pubsub import setuparg1
import wx.lib.agw.hyperlink as hl
import wx, wx.html
#MIN_SIZE = (400,500)
class MainWindow(wx.Frame):
def __init__(self,parent,id,title):
wx.Frame.__init__(self, parent,id,title="Nimbuzz Simple Login App Coded by db~@NC",size=(520,600),style=wx.DEFAULT_FRAME_STYLE ^ wx.RESIZE_BORDER ^ wx.MAXIMIZE_BOX)
self.parent = None
self.initialize()
def initialize(SELF):
db1_lbl_sizer = wx.BoxSizer(wx.HORIZONTAL)
db1_lbl = wx.StaticText(SELF,wx.ALIGN_RIGHT ,label="Nimbuzz Login WXPYTHON GUI Coded by db~@NC")
db1_lbl_sizer.Add(db1_lbl,0,wx.ALL,5)
db1_lbl.SetForegroundColour(wx.BLUE)
font_db1_lbl = wx.Font(15, wx.DECORATIVE, wx.ITALIC, wx.BOLD)
db1_lbl.SetFont(font_db1_lbl)
def resource_path(relative): #define RESOURCE PATH from where all the required resources are loaded when script is being executed
if hasattr(sys,"_MEIPASS"):
return os.path.join(sys._MEIPASS, relative)
return os.path.join(relative)
image_sizer = wx.BoxSizer(wx.HORIZONTAL)
image = wx.StaticBitmap(SELF,-1,size=(545,80))
image.SetBitmap(wx.Bitmap(resource_path('images\db.jpg'))) #Replace this folder and filename with your required needs
image_sizer.Add(image,0,wx.RIGHT,5)
user_sizer = wx.BoxSizer(wx.HORIZONTAL)
user_lbl = wx.StaticText(SELF, label= "Username:")
user_sizer.Add(user_lbl,0,wx.ALL|wx.CENTER,5)
SELF.user = wx.TextCtrl(SELF)
user_sizer.Add(SELF.user,0,wx.ALL,2)
p_sizer = wx.BoxSizer(wx.HORIZONTAL)
p_lbl = wx.StaticText(SELF, label="Password:")
p_sizer.Add(p_lbl,0,wx.ALL|wx.CENTER,5)
SELF.password = wx.TextCtrl(SELF, style=wx.TE_PASSWORD|wx.TE_PROCESS_ENTER)
p_sizer.Add(SELF.password,0,wx.ALL,4)
res_sizer = wx.BoxSizer(wx.HORIZONTAL)
res_lbl = wx.StaticText(SELF, label= "Resource:")
res_sizer.Add(res_lbl,0,wx.ALL|wx.CENTER,6)
SELF.res = wx.TextCtrl(SELF)
res_sizer.Add(SELF.res,0,wx.ALL,5)
room_sizer = wx.BoxSizer(wx.HORIZONTAL)
room_lbl = wx.StaticText(SELF, label= "Room:")
room_sizer.Add(room_lbl,0,wx.ALL|wx.CENTER,14)
SELF.room = wx.TextCtrl(SELF)
room_sizer.Add(SELF.room,0,wx.ALL,5)
button_sizer = wx.BoxSizer(wx.HORIZONTAL)
SELF.button = wx.Button(SELF,-1,label="Login")
SELF.Bind(wx.EVT_BUTTON,SELF.OnButtonClick,SELF.button)
button_sizer.Add(SELF.button,0,wx.LEFT,70)
font_button= wx.Font(12, wx.DECORATIVE, wx.ITALIC, wx.BOLD)
SELF.button.SetFont(font_button)
SELF.button.SetForegroundColour(wx.RED)
listbox_sizer = wx.BoxSizer(wx.HORIZONTAL)
SELF.dbListBox = wx.ListBox(SELF,-1,size=(400,230),style=wx.LB_SINGLE|wx.LB_SORT)
listbox_sizer.Add(SELF.dbListBox,0,wx.CENTER,5)
SELF.dbListBox.SetForegroundColour(wx.BLUE)
SELF.dbListBox.Show(True)
main_sizer= wx.BoxSizer(wx.VERTICAL)
main_sizer.Add(db1_lbl_sizer,0,wx.ALL,3)
main_sizer.Add(image_sizer,0,wx.ALIGN_RIGHT,5)
main_sizer.Add(user_sizer,0,wx.ALL,3)
#main_sizer.Add(avi_sizer,0,wx.ALIGN_RIGHT,0)
main_sizer.Add(p_sizer,0,wx.ALL,3)
main_sizer.Add(res_sizer,0,wx.ALL,3)
main_sizer.Add(room_sizer,0,wx.ALL,3)
main_sizer.Add(button_sizer,0,wx.ALIGN_LEFT,5)
main_sizer.Add(SELF.dbListBox,0,wx.CENTER,15)
#main_sizer.Add(button2_sizer,0,wx.ALIGN_RIGHT,0)
hyper_sizer = wx.BoxSizer(wx.HORIZONTAL)
hyper = hl.HyperLinkCtrl(SELF,-1,"For More Nimbuzz Tools, Visit my Blog now!",URL="http://dbh4ck.blogspot.in")
hyper_sizer.Add(hyper,0,wx.ALL|wx.CENTER,10)
#wx.LaunchDefaultBrowser("http://dbh4ck.blogspot.in")
hyper.AutoBrowse(False)
hyper.SetColours("BLUE","BLUE","BLUE")
hyper.EnableRollover(True)
hyper.SetUnderlines(False,False,True)
hyper.SetBold(True)
hyper.OpenInSameWindow(True)
main_sizer.Add(hyper,0,wx.CENTER,8)
SELF.SetSizer(main_sizer)
SELF.Show(True)
SELF.Center()
def OnButtonClick(SELF,event):
STATUS = 'db here'
SHOW = 'chat'
NICK = 'G-Fiber'
SERVER = 'nimbuzz.com'
HOST = 'o.nimbuzz.com'
PORT = 5222
ROOM_SERVER = 'conference.nimbuzz.com'
USR = SELF.user.GetValue()
PW = SELF.password.GetValue()
RS = SELF.res.GetValue()
usrjid='%s@%s/%s'%(USR,SERVER,RS)
import xmpp
class db:
def __init__(self): #initialize class and setup connection details to get connected to Nimbuzz server
self.client = xmpp.Client('nimbuzz.com', debug=False)
if self.client.connect( server=('o.nimbuzz.com',5222), secure=False ):
print ("Connected")
print ("\nTrying to login..\n")
if self.client.auth(USR,PW,'res'):
print ("Logged in\n\n")
SELF.user.SetBackgroundColour(wx.GREEN)
SELF.password.SetBackgroundColour(wx.GREEN)
SELF.res.SetBackgroundColour(wx.GREEN)
else:
print ("Unable to Login. Check your username and password")
SELF.user.SetBackgroundColour(wx.RED)
SELF.password.SetBackgroundColour(wx.RED)
SELF.res.SetBackgroundColour(wx.RED)
raw_input('Press Enter to exit...')
sys.exit(1)
else:
print ("Couldn't Connect. Restarting..")
os.execl(sys.executable, sys.executable, sys.argv[0])
prs = xmpp.simplexml.XML2Node(unicode("<presence><status>%s</status><priority>1</priority><show>%s</show><nick xmlns='http://jabber.org/protocol/nick'>%s</nick></presence>" % (STATUS,SHOW,NICK)).encode('utf8'))
self.client.send(prs)
roster = self.client.getRoster()
#self.client.sendInitPresence()
items = roster.getItems()
for jid in items:
name = roster.getName(jid)
jidres = roster.getResources(jid)
for res in jidres:
resource = roster.getResources(jid.split('/', 1)[0] + '/' + res)
dbcontactlist = u'%s %s/%s' % (name or '', jid, res)
SELF.dbListBox.Append(str(dbcontactlist))
chatroom = SELF.room.GetValue()
muc = xmpp.simplexml.XML2Node("<presence to ='%s@conference.nimbuzz.com/%s'><priority>1</priority></presence>"%(chatroom,NICK))
self.client.send(muc)
def wake(self):
self.awake = True
def messages(self, msg):
frm = unicode(msg.getFrom()).encode('utf8')
typ = msg.getType()
body = msg.getBody()
print frm, typ, body
print msg
self.client.RegisterHandler('message',messages)
while 1:
self.client.Process()
if __name__ == '__main__':
logging.basicConfig(level=logging.ERROR, format='%(levelname)-8s %(message)s')
xmpp = db()
xmpp.wake()
if __name__ == "__main__":
app = wx.App(False)
frame = MainWindow(None,wx.ID_ANY,'Nimbuzz Login wxPython GUI App')
app.MainLoop()
view raw wx_Nimbuzz.py hosted with ❤ by GitHub