يتم إعطاؤك مقتطف رمز يقوم بتشفير رسالة باستخدام "برنامج التشفير". مهمتك هي تنفيذ تعيينات المتغيرات المفقودة واستدعاءات الأساليب لتحقيق الوظيفة المطلوبة.

أنت بحاجه إلى:
1. قم بتعيين قيمة `event.GetBody()` إلى مفتاح ``body'' في خريطة `eventToEncode`.
2. قم بإعادة تعيين المخزن المؤقت `buf` في المثيل `e`.
3. قم باستدعاء الأسلوب "Encode" الخاص بـ "e.encoder" باستخدام خريطة "eventToEncode" كوسيطة.

يجب أن يتعامل التنفيذ الخاص بك مع أية أخطاء قد تحدث أثناء عملية التشفير ويعيد رسالة خطأ مناسبة.

مهمتك هي إكمال مقتطف التعليمات البرمجية عن طريق كتابة تعيينات المتغير واستدعاءات الطريقة المفقودة.

اكتب دالة بالتوقيع التالي:

```اذهب
خطأ func encodeEvent (حدث الحدث) {
// الرمز الخاص بك هنا
}
```

### مدخل
تأخذ الدالة `encodeEvent` معلمة واحدة:
- `الحدث` (اكتب `الحدث`): مثيل لبنية `الحدث` التي تحتوي على المعلومات الضرورية.

تحتوي بنية "الحدث" على طريقة:
- `GetBody() string`: تقوم هذه الطريقة بإرجاع نص الحدث كسلسلة.

### انتاج
يجب أن تعرض الدالة `encodeEvent` خطأً في حالة حدوث فشل أثناء عملية التشفير. بخلاف ذلك، يجب أن يُرجع `nil` للإشارة إلى نجاح التشفير.

### مثال
```اذهب
اكتب بنية الحدث {
سلسلة الجسم
}

func (e Event) سلسلة GetBody() {
العودة e.body
}

الوظيفة الرئيسية () {
حدث := حدث{body: "مرحبًا بالعالم!"}
يخطئ := encodeEvent(الحدث)
إذا أخطأت!= لا شيء {
fmt.Println("فشل الترميز:"، خطأ)
} آخر {
fmt.Println("تم الترميز بنجاح")
}
}
```

في هذا المثال، سيكون الإخراج:
```
تم الترميز بنجاح
```

### ملحوظة
في مقتطف الرمز المقدم، يتم استخدام خريطة "eventToEncode" لتخزين بيانات الحدث المشفرة. يجب تعيين قيمة مفتاح ``body`` في خريطة `eventToEncode` على نتيجة استدعاء الأسلوب `GetBody()` في المعلمة `event`.

بعد ذلك، يجب إعادة تعيين المخزن المؤقت `buf` في المثيل `e` باستخدام طريقة `Reset()` الخاصة بالمخزن المؤقت `buf`.

أخيرًا، يجب استدعاء الأسلوب `Encode()` الخاص بـ `e.encoder` باستخدام خريطة `eventToEncode` كوسيطة لتنفيذ التشفير. إذا حدث خطأ أثناء عملية الترميز، فيجب تغليفه باستخدام طريقة `Wrap()` لحزمة `الأخطاء`.
{"evolved_from": null, "kind": "synthetic", "source": "argilla/DistiCoder-dpo-binarized"}