def presence_control(self, stanza): msg = unicode(stanza.get_from()) t = stanza.get_type() frm = stanza.get_from() frm_email = "%s@%s" % (frm.node, frm.domain) if frm_email == DAEMONACCOUNT[0]: p = Presence(to_jid=frm, stanza_type="subscibe") return stanza.make_accept_response(), p if t == "subscribe": msg += u" has requested presence subscription." body = "%s 加入群" % frm.node p = Presence(to_jid=frm, stanza_type="subscibe") send_all_msg(stanza, body) add_member(frm) elif t == "subscribed": msg += u" has accepted our presence subscription request." p = Presence(to_jid=frm, stanza_type="subscibe") add_member(frm) elif t == "unsubscribe": msg += u" has canceled his subscription of our." body = "%s 离开群" % frm.node send_all_msg(stanza, body) del_member(frm) elif t == "unsubscribed": msg += u" has canceled our subscription of his presence." del_member(frm) logger.info(msg) return stanza.make_accept_response(), p
def am(): name = json.loads(request.data)["name"] db.add_member(name) ct = db.get_all_member() result = { 'ct': ct } return jsonify(result)
def print_roster_item(self, item): if item.name: name = item.name else: name = u"" email = "%s@%s" % (item.jid.node, item.jid.domain) if not get_member(email): add_member(item.jid) print ( u'%s "%s" subscription=%s groups=%s' % (unicode(item.jid), name, item.subscription, u",".join(item.groups)) )
def place_bet(name, amount, odds, betted): while 1: if db.member_exists(name): member_balance = db.check_balance(name) if member_balance >= amount: db.add_bet(name, amount, odds, betted) db.update_balance(name, member_balance - amount) break else: pass else: db.add_member(name) continue
def presence(self, stanza): frm = stanza.get_from() msg = u"%s has become " % (frm) t = stanza.get_type() status = stanza.get_status() show = stanza.get_show() frm_email = "%s@%s" % (frm.node, frm.domain) if frm_email != DAEMONACCOUNT[0]: if t == "unavailable": msg += u"unavailable" change_status(frm, 0, show) else: msg += u"available" if not get_member(frm_email) and frm_email != USER: add_member(frm) change_status(frm, 1, show) if show: msg += u"(%s)" % (show,) if status: msg += u": " + status logger.info(msg)
async def signup_user(payload, client): if db.is_on_team(payload.user_id): return team_emoji = [t for t in TEAMS if t['emoji'] == payload.emoji.name] if team_emoji: try: team = team_emoji[0] server = [x for x in client.guilds if x.id == payload.guild_id][0] user = discord.utils.get(server.members, id=payload.user_id) if team['capped']: channel = discord.utils.get(server.channels, id=payload.channel_id) message = await channel.fetch_message(id=payload.message_id) await message.remove_reaction(payload.emoji, user) else: team_id = team['id'] new_role = discord.utils.get(server.roles, id=team_id) fall_role = discord.utils.get(server.roles, id=FALL_ROLE) fall2020_role = discord.utils.get(server.roles, id=FALL2020_ROLE) db.add_member(payload.user_id, team_id) await user.add_roles(new_role, fall2020_role, fall_role) except Exception as e: print(f"Something has gone wrong with adding team role: {e}")
def index(): form = UserForm() if form.validate_on_submit(): try: save_user(form.name.data) except DuplicateKeyError: print("name error") return render_template("index.html", form=form, message="User already exists") if form.create.data: try: save_room(form.room.data, form.name.data) except DuplicateKeyError: print("room exists") remove_user(form.name.data) return render_template( "index.html", form=form, message="Cannot create room which already exists") if form.join.data: if not room_exists(form.room.data): print("room doesn't exists") remove_user(form.name.data) return render_template( "index.html", form=form, message="Cannot join room which doesn't exists") add_member(form.room.data, form.name.data) return redirect( url_for("lobby", user=form.name.data, room=form.room.data)) return render_template("index.html", form=form, message='')