#发送消息 def send_inputTxt(*args): users.append('===== 群聊 =====') users.append('Robot') msg = entry.get() #读取输入消息框的内容 if chat_to not in users: tkinter.messagebox.showerror('错误',message='请指定会话对象') return if chat_to == user: tkinter.messagebox.showinfo('提示', message='不能自己跟自己聊天!') return if chat_to == 'Robot': print('你正在跟图灵机器人聊天...') if msg: #发送的消息不能为空 message = msg + ':;' + user+ ':;' + chat_to #重构消息 s.send(message.encode()) #发送 input_box.set('') else: tkinter.messagebox.showinfo('提示',message='请输入消息内容') #创建发送按钮 button = tkinter.Button(root,text='发送',command=send_inputTxt) button.place(x=515,y=353,width=60,height=30) root.bind('<Return>',send_inputTxt)修改代码使其能实现正常发送和匿名发送两种模式
时间: 2024-01-19 15:02:17 浏览: 78
图灵机器人聊天
可以修改send_inputTxt函数,增加一个参数anonymous表示是否匿名发送,如果anonymous为True,则消息发送者为匿名用户。具体修改如下:
```
def send_inputTxt(anonymous=False):
users.append('===== 群聊 =====')
if anonymous:
msg_sender = '匿名用户'
else:
msg_sender = user
users.append(msg_sender)
msg = entry.get() # 读取输入消息框的内容
if chat_to not in users:
tkinter.messagebox.showerror('错误', message='请指定会话对象')
return
if chat_to == user:
tkinter.messagebox.showinfo('提示', message='不能自己跟自己聊天!')
return
if chat_to == 'Robot':
print('你正在跟图灵机器人聊天...')
if msg: # 发送的消息不能为空
message = msg + ':;' + msg_sender + ':;' + chat_to # 重构消息
s.send(message.encode()) # 发送
input_box.set('')
else:
tkinter.messagebox.showinfo('提示', message='请输入消息内容')
# 创建发送按钮
button = tkinter.Button(root, text='发送', command=lambda: send_inputTxt(False))
button.place(x=515, y=353, width=60, height=30)
# 创建匿名发送按钮
anonymous_button = tkinter.Button(root, text='匿名发送', command=lambda: send_inputTxt(True))
anonymous_button.place(x=425, y=353, width=80, height=30)
# 绑定回车键发送消息
root.bind('<Return>', lambda event: send_inputTxt(False))
```
其中,lambda表达式用于创建一个匿名函数,用于触发send_inputTxt函数。在发送消息时,如果anonymous为True,则将消息发送者设为"匿名用户"。匿名发送按钮用于触发匿名发送模式,即将anonymous参数设为True。
阅读全文