def confirm(): friend_name = name_entry.get() if friend_name: msg = 'add_friend:' + user + friend_name s.send(msg.encode('utf-8')) res = s.recv(1024).decode('utf-8') if res.startswith('Error:'): messagebox.showerror('Error', res) else: messagebox.showinfo('Success', '添加好友成功') add_window.destroy() else: messagebox.showerror('Error', '请输入好友用户名') friends.append(friend_name) print(friends) update_friend_list() 请在此基础上实现好友申请通过,添加的功能
时间: 2024-01-19 07:02:40 浏览: 34
好友申请通过和添加好友的功能需要分别实现,下面分别给出实现代码。
好友申请通过的实现代码:
```
def confirm():
friend_name = name_entry.get()
if friend_name:
msg = 'confirm_friend:' + user + friend_name
s.send(msg.encode('utf-8'))
res = s.recv(1024).decode('utf-8')
if res.startswith('Error:'):
messagebox.showerror('Error', res)
else:
messagebox.showinfo('Success', '通过好友申请')
add_window.destroy()
else:
messagebox.showerror('Error', '请输入好友用户名')
```
在上述代码中,我们向服务器发送了一个 `confirm_friend` 的请求,请求中包含了当前用户的用户名和要通过申请的好友用户名,服务器会根据这些信息在好友列表中添加对应的好友,然后返回一个响应消息,表示操作是否成功。
添加好友的实现代码:
```
def add_friend():
friend_name = name_entry.get()
if friend_name:
msg = 'add_friend:' + user + friend_name
s.send(msg.encode('utf-8'))
res = s.recv(1024).decode('utf-8')
if res.startswith('Error:'):
messagebox.showerror('Error', res)
else:
messagebox.showinfo('Success', '好友申请已发送')
add_window.destroy()
else:
messagebox.showerror('Error', '请输入好友用户名')
```
在上述代码中,我们向服务器发送了一个 `add_friend` 的请求,请求中包含了当前用户的用户名和要添加的好友用户名,服务器会根据这些信息在好友请求列表中添加对应的好友申请,然后返回一个响应消息,表示操作是否成功。
需要注意的是,在添加好友的功能中,我们并没有直接将好友添加到好友列表中,而是将其添加到好友请求列表中,需要等到好友同意好友申请之后,才会将其添加到好友列表中。这样做的好处是可以更好地控制好友关系的建立,避免不必要的麻烦。